---
title: データ型と測定尺度
description: MIDAS のデータ型（boolean, int64, float64, date, datetime, string, enum）と測定尺度（名義・順序・間隔・比率）の統計的な意味、自動推論の仕組み、分析手法の選択への影響を解説します。
priority: 0.5
---

# データ型と測定尺度 {#data-types-and-measurement-scales}

MIDAS はデータを読み込む際にデータ型と測定尺度を自動的に推論します。データ型と測定尺度は独立した概念で、データ型は値の表現（数値・日付・文字列等）、測定尺度は分析上の性質（名義・順序・間隔・比率）を表します。測定尺度は [基本統計量](basic-statistics) に表示される項目（平均、中央値、カウント等）を尺度ごとに絞り込む基準として使われ、尺度に合わない統計量は表示されません。読み込み後に尺度が意図通りになっているか確認してください。

操作方法は [データの準備と読み込み](data-preparation) を参照してください。

## データ型 {#data-types}

MIDAS は読み込んだデータの型を自動的に判定します。

**boolean（真偽値）**
`true`/`false`、`yes`/`no`、`y`/`n` などで表される真偽値です（大文字小文字は区別しません）。`0`/`1` は int64 として扱います。`0`/`1` で記録された列を boolean として扱う場合は、[列の型変換](column-type-conversion) で boolean に変換できます。

**int64（整数）**
小数点を含まない数値です（例: `1`, `42`, `-10`）。絶対値が 9,007,199,254,740,991（$2^{53}-1$）を超える整数は数値型では精度を保てないため、自動推論では string として読み込まれます。

**float64（浮動小数点数）**
小数点を含む数値です（例: `3.14`, `0.5`, `-2.71`）。列内に整数と小数が混在する場合は float64 として読み込みます。

**date（日付）**
日付を表すデータです。CSV には `YYYY-MM-DD` 形式で記述してください（例: `2025-11-17`）。`YYYY/MM/DD`、`MM/DD/YYYY`、`MM-DD-YYYY` も読み込めます。月日のゼロパディングは任意で、`2025/1/15` のような形式も読み込めます。読み込まれた日付は区切り文字やブラウザのタイムゾーンに依存せず、そのまま `YYYY-MM-DD` 形式で表示されます。月日年の並びは常に `MM/DD/YYYY` として解釈します。`DD/MM/YYYY` は判別しないため、欧州形式で記録された CSV は事前に `YYYY-MM-DD` に整形してください。

**datetime（日時）**
日付と時刻を含むデータです（例: `2025-11-17 14:30:00`）。時刻部分を含む値は `2025-01-15 00:00:00` のように時刻が 0 の場合も datetime として推論されます。内部で UTC に変換されるため、タイムゾーンによって表示が変わります。同一列で日付のみの値と日時値が混在する場合は列全体を datetime として扱い、時刻が書かれていない行は UTC の 00:00 として保存します。たとえば JST のブラウザでは `2025-01-15` が 2025/1/15 9:00:00 と表示されます。詳細は [日時データとタイムゾーン](#datetime-and-timezone) を参照してください。

**string（文字列）**
上記のいずれにも該当しない、テキストデータです。MIDAS が欠損として扱うのは空セルのみで、`NA`、`.`、`-` などは欠損扱いされずそのまま文字列として読み込まれます。これらが混ざると列の型推論が失敗して string 型に倒れることがあるため、欠損は空セルに統一してください。

**enum（列挙型）**
有効な値が限定されたカテゴリデータです。自動推論されないため、手動で定義して string 列を変換します。値の順序を定義できるため、順序のあるカテゴリは Enum 型で表現します。順序尺度の Enum では中央値や四分位点など順序に基づく統計量が計算されますが、平均や標準偏差など値間の距離を前提とする統計量は計算されません。作成手順と統計量の詳細は [Enum 定義](enum-definitions) を参照してください。

データ型は Data Table の列ヘッダーの2行目に表示されます。1行目が列名、2行目がデータ型と測定尺度です（例: `int64 interval`）。測定尺度の英語表記は `nominal`（名義）、`ordinal`（順序）、`interval`（間隔）、`ratio`（比率）です。データ型が正しく判定されなかった場合は、[列の型変換](column-type-conversion) で修正できます。型変換では元のデータセットは変更されず、変換結果は新しいデータセットとして作成されます。測定尺度の変更（後述の **Edit Scale of Measurement**）は列のメタデータのみを更新するため、データセットは増えません。

### 日時データとタイムゾーン {#datetime-and-timezone}

MIDAS は日時データを UTC で保存します。保存時にタイムゾーン情報は残しません。

読み込み時にタイムゾーンオフセットがあれば、それをもとに UTC に変換して保存します。オフセットがなく時刻部分を含む日時はブラウザのタイムゾーンとして解釈します。日付のみの値は UTC の 00:00 として解釈します。表示時にはブラウザのローカルタイムゾーンに変換します。集計は内部の UTC 値に基づいて行われるため、異なるタイムゾーンの端末で MDS ファイルを開いても集計結果（カウント、平均、時刻境界での群分け等）は変わりません。変わるのはローカルタイムゾーンでの表示のみです。

以下はブラウザのタイムゾーンが JST（+09:00）の場合の例です。

| CSV の値 | 読み込み時の解釈 | Data Table の表示 |
|----------|----------------|------------------|
| `2025-01-15 14:30:00` | JST 14:30 として解釈 | 2025/1/15 14:30:00 |
| `2025-01-15T14:30:00+09:00` | JST 14:30 として解釈 | 2025/1/15 14:30:00 |
| `2025-01-15T14:30:00Z` | UTC 14:30 として解釈 | 2025/1/15 23:30:00 |

日付のみの値と日時値が混在する列では、日付のみの行を UTC の 00:00 として解釈します。上の例では `2025-01-15` は 2025/1/15 9:00:00 と表示されます。

時刻部分を含みタイムゾーン情報のない日時はブラウザのタイムゾーンとして解釈されます。同じ端末では CSV に書いたとおりの時刻が表示されますが、内部では UTC に変換されているため、異なるタイムゾーンの端末で MDS ファイルを開くと表示が変わります。また、異なるタイムゾーンの端末で同じ CSV を読み込むと、オフセットのない日時は端末ごとに異なる UTC 値として保存されます。タイムゾーンの一貫性が重要な場合は、CSV の日時にタイムゾーンオフセットを付けるか、UTC に統一してから読み込んでください。

## 測定尺度 {#measurement-scales}

測定尺度は「そのデータに対してどのような演算が意味を持つか」を分類する枠組みです。[Stevens (1946)](#ref-stevens-1946) の4水準に基づいています。名義 < 順序 < 間隔 < 比率の順に上位の尺度ほど多くの演算が意味を持ち、上位の尺度では下位の尺度で可能な操作がすべて使えます。MIDAS はこの分類を、表示する統計量の絞り込みに使います。尺度水準だけで分析手法が一意に決まるわけではないため、データの意味に合わせて尺度を設定し、必要なら読み込み後に変更してください。

### 名義尺度（Nominal） {#nominal-scale}

カテゴリを表すデータで、順序に意味がありません。等しいかどうか（$=$, $\neq$）だけが意味を持ちます。

例: 性別（男性/女性）、色（赤/青/緑）、国名

### 順序尺度（Ordinal） {#ordinal-scale}

カテゴリに順序がありますが、間隔は定義されていません。大小関係（$<$, $>$）までが意味を持ちます。

例: 満足度（低い/普通/高い）、学年（1年/2年/3年）、成績（A/B/C/D）

### 間隔尺度（Interval） {#interval-scale}

等間隔な数値データで、差をとることに意味があります。ただし比（「何倍」）には意味がありません。ゼロ点が恣意的だからです。

例: 温度（摂氏）、年（西暦）

- 20°C と 10°C の差は 10°C という意味がある
- しかし 20°C は 10°C の「2倍暖かい」とは言えない

### 比率尺度（Ratio） {#ratio-scale}

等間隔で、かつ絶対的なゼロ点を持つ数値データです。差にも比にも意味があります。

例: 身長、体重、価格、年齢

- 20kg と 10kg の差は 10kg という意味がある
- 20kg は 10kg の「2倍重い」と言える

比率尺度は自動推論では割り当てられません。ゼロ点が絶対原点かどうかはデータの意味に依存し、列の値からは判別できないためです。身長や体重のように絶対的なゼロ点を持つデータには、Data Table で列ヘッダーを右クリックし **Edit Scale of Measurement** から比率尺度を設定してください。比率尺度を設定すると、基本統計量に変動係数（cv）と幾何平均（geo mean）が追加されます。表示条件は [基本統計量](basic-statistics) を参照してください。

## データ型から測定尺度への自動推論 {#auto-inference-from-data-types-to-measurement-scales}

MIDAS は読み込み時にデータ型を判定し、そこから測定尺度を自動で割り当てます。自動推論はあくまで初期値で、読み込み後はデータ型と測定尺度を独立に変更できます。

| データ型 | 推論される尺度 | 理由 |
|---------|-------------|------|
| boolean | 名義 | true/false は順序のないカテゴリ |
| int64 | 間隔 | 数値の差は意味を持つが、ゼロ点が絶対原点かどうかはデータの意味に依存する |
| float64 | 間隔 | 同上 |
| date | 間隔 | 日付の差は意味を持つが、日付の比は意味がない |
| datetime | 間隔 | 同上 |
| string | 名義 | テキストはカテゴリとして扱う |
| enum | 名義 | 順序が定義されていても、順序を分析に使うかどうかは尺度の設定で明示する |

自動推論が実際のデータの意味と合わない場合があります。たとえば郵便番号や ID 列は数値型として読み込まれて間隔尺度が割り当てられますが、意味的には名義尺度です。このような列は Data Table で列ヘッダーを右クリックし **Edit Scale of Measurement** から適切な尺度に変更してください。なお、先頭ゼロ付きの数字列（`0060001`、`001` 等）は自動で string として読み込まれるため、先頭ゼロは保持されます。

順序のあるカテゴリを文字列で入力している場合は、[Enum 定義](enum-definitions) を作成して Enum 型に変換します。string 型のままでは値の順序を定義できないため、尺度を順序尺度に変更しても度数集計のみが表示され、中央値などの順序に基づく統計量は計算されません。データ型と測定尺度は独立しているため、Enum で値の順序を定義しても尺度が自動で順序尺度に変わることはありません。Enum 型に変換した後、**Edit Scale of Measurement** から順序尺度に変更してください。

## 参考文献 {#references}

- <span id="ref-stevens-1946">Stevens, S. S. (1946). On the theory of scales of measurement. *Science*, 103(2684), 677-680. https://www.jstor.org/stable/1671815</span>

## See also {#see-also}

- **[データの準備と読み込み](data-preparation)** - ファイル形式と読み込み手順
- **[基本統計量](basic-statistics)** - 測定尺度に応じた統計量の表示
