データ型と測定尺度
MIDAS はデータを読み込む際にデータ型と測定尺度を自動的に推論します。データ型と測定尺度は独立した概念で、データ型は値の表現(数値・日付・文字列等)、測定尺度は分析上の性質(名義・順序・間隔・比率)を表します。測定尺度は 基本統計量 に表示される項目(平均、中央値、カウント等)を尺度ごとに絞り込む基準として使われ、尺度に合わない統計量は表示されません。読み込み後に尺度が意図通りになっているか確認してください。
操作方法は データの準備と読み込み を参照してください。
データ型
MIDAS は読み込んだデータの型を自動的に判定します。
boolean(真偽値)
true/false、yes/no、y/n などで表される真偽値です(大文字小文字は区別しません)。0/1 は int64 として扱います。
int64(整数)
小数点を含まない数値です(例: 1, 42, -10)。
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 として推論されます。同一列で日付のみの値と日時値が混在する場合は列全体を datetime として扱い、時刻が書かれていない行は 00:00 として保存します。内部で UTC に変換されるため、タイムゾーンによって表示が変わります。詳細は 日時データとタイムゾーン を参照してください。
string(文字列)
上記のいずれにも該当しない、テキストデータです。MIDAS が欠損として扱うのは空セルのみで、NA、.、- などは欠損扱いされずそのまま文字列として読み込まれます。これらが混ざると列の型推論が失敗して string 型に倒れることがあるため、欠損は空セルに統一してください。
enum(列挙型) 有効な値が限定されたカテゴリデータです。自動推論されないため、手動で定義して string 列を変換します。値の順序を定義できるため、順序尺度のデータに適しています。作成手順は Enum 定義を参照してください。
データ型は Data Table の列ヘッダーの2行目に表示されます。1行目が列名、2行目がデータ型と測定尺度です(例: int64 interval)。測定尺度の英語表記は nominal(名義)、ordinal(順序)、interval(間隔)、ratio(比率)です。データ型が正しく判定されなかった場合は、列の型変換で修正できます。型変換では元のデータセットは変更されず、変換結果は新しいデータセットとして作成されます。測定尺度の変更(後述の Edit Scale of Measurement)は列のメタデータのみを更新するため、データセットは増えません。
日時データとタイムゾーン
MIDAS は日時データを UTC で保存します。保存時にタイムゾーン情報は残しません。
読み込み時にタイムゾーンオフセットがあれば、それをもとに UTC に変換して保存します。オフセットのない日時はブラウザのタイムゾーンとして解釈します。表示時にはブラウザのローカルタイムゾーンに変換します。集計は内部の 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 |
タイムゾーン情報のない日時はブラウザのタイムゾーンとして解釈されます。同じ端末では CSV に書いたとおりの時刻が表示されますが、内部では UTC に変換されているため、異なるタイムゾーンの端末で MDS ファイルを開くと表示が変わります。タイムゾーンの一貫性が重要な場合は、CSV の日時にタイムゾーンオフセットを付けるか、UTC に統一してから読み込んでください。
測定尺度
測定尺度は「そのデータに対してどのような演算が意味を持つか」を分類する枠組みです。Stevens (1946) の4水準に基づいています。名義 < 順序 < 間隔 < 比率の順に上位の尺度ほど多くの演算が意味を持ち、上位の尺度では下位の尺度で可能な操作がすべて使えます。
名義尺度(Nominal)
カテゴリを表すデータで、順序に意味がありません。等しいかどうか(, )だけが意味を持ちます。
例: 性別(男性/女性)、色(赤/青/緑)、国名
順序尺度(Ordinal)
カテゴリに順序がありますが、間隔は定義されていません。大小関係(, )までが意味を持ちます。
例: 満足度(低い/普通/高い)、学年(1年/2年/3年)、成績(A/B/C/D)
間隔尺度(Interval)
等間隔な数値データで、差をとることに意味があります。ただし比(「何倍」)には意味がありません。ゼロ点が恣意的だからです。
例: 温度(摂氏)、年(西暦)
- 20°C と 10°C の差は 10°C という意味がある
- しかし 20°C は 10°C の「2倍暖かい」とは言えない
比率尺度(Ratio)
等間隔で、かつ絶対的なゼロ点を持つ数値データです。差にも比にも意味があります。
例: 身長、体重、価格、年齢
- 20kg と 10kg の差は 10kg という意味がある
- 20kg は 10kg の「2倍重い」と言える
比率尺度は自動推論では割り当てられません。ゼロ点が絶対原点かどうかはデータの意味に依存し、列の値からは判別できないためです。身長や体重のように絶対的なゼロ点を持つデータには、Data Table で列を右クリックし Edit Scale of Measurement から比率尺度を設定してください。
データ型から測定尺度への自動推論
MIDAS は読み込み時にデータ型を判定し、そこから測定尺度を自動で割り当てます。自動推論はあくまで初期値で、読み込み後はデータ型と測定尺度を独立に変更できます。
| データ型 | 推論される尺度 | 理由 |
|---|---|---|
| boolean | 名義 | true/false は順序のないカテゴリ |
| int64 | 間隔 | ゼロ点が絶対原点かどうかはデータの意味に依存する |
| float64 | 間隔 | 同上 |
| date | 間隔 | 日付の差は意味を持つが、比は通常意味がない |
| datetime | 間隔 | 同上 |
| string | 名義 | テキストはカテゴリとして扱う |
| enum | 名義 | 順序が定義されていれば順序尺度に変更可能 |
自動推論が実際のデータの意味と合わない場合があります。たとえば郵便番号や ID 列は数値型として読み込まれて間隔尺度が割り当てられますが、意味的には名義尺度です。このような列は Data Table で列を右クリックし Edit Scale of Measurement から適切な尺度に変更してください。なお、先頭ゼロ付きの数字列(0060001、001 等)は自動で string として読み込まれるため、先頭ゼロは保持されます。
順序のあるカテゴリを文字列で入力している場合は、Enum 定義 を作成して Enum 型に変換します。Enum で値の順序を定義しても自動では順序尺度にならないため、作成後に Edit Scale of Measurement から順序尺度に変更してください。
参考文献
- Stevens, S. S. (1946). On the theory of scales of measurement. Science, 103(2684), 677-680. https://www.jstor.org/stable/1671815
See also
- データの準備と読み込み - ファイル形式と読み込み手順
- 基本統計量 - 測定尺度に応じた統計量の表示