データ型と測定尺度

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

操作方法は データの準備と読み込み を参照してください。

データ型

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

boolean(真偽値) true/falseyes/noy/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/DDMM/DD/YYYYMM-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:00JST 14:30 として解釈2025/1/15 14:30:00
2025-01-15T14:30:00+09:00JST 14:30 として解釈2025/1/15 14:30:00
2025-01-15T14:30:00ZUTC 14:30 として解釈2025/1/15 23:30:00

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

測定尺度

測定尺度は「そのデータに対してどのような演算が意味を持つか」を分類する枠組みです。Stevens (1946) の4水準に基づいています。名義 < 順序 < 間隔 < 比率の順に上位の尺度ほど多くの演算が意味を持ち、上位の尺度では下位の尺度で可能な操作がすべて使えます。

名義尺度(Nominal)

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

例: 性別(男性/女性)、色(赤/青/緑)、国名

順序尺度(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 から適切な尺度に変更してください。なお、先頭ゼロ付きの数字列(0060001001 等)は自動で string として読み込まれるため、先頭ゼロは保持されます。

順序のあるカテゴリを文字列で入力している場合は、Enum 定義 を作成して Enum 型に変換します。Enum で値の順序を定義しても自動では順序尺度にならないため、作成後に Edit Scale of Measurement から順序尺度に変更してください。

参考文献

See also