Enum 定義

Enum 型は、有効な値があらかじめ決まっているカテゴリデータを扱うためのデータ型です。許可される値の集合を定義します。

CSV 読み込みでは Enum 型は自動推論されません。Enum 定義を作成し、string 型の列を Enum 型に変換して使います。Enum 定義は同一プロジェクト内の複数のデータセットから参照できます(別のプロジェクトには引き継がれません)。1つの Enum 定義には最大50個の値を設定できます。50個を超えるカテゴリがある場合は string 型のまま使用してください。

Manage Enums タブを開く

メニューバーから Data > Manage Enums... を選択すると、Manage Enums タブが開きます。このタブで Enum 定義の作成、編集、削除を行います。

Manage Enums タブ

Enum を手動で作成する

新規作成

  1. + New Enum をクリック
  2. Enum 名を入力
  3. 値を入力する。入力した順番がそのまま Enum の値順序として記録される。この順序は、列を順序尺度に設定した場合にグラフの軸やソートに反映される
  4. + Add Value で値を追加
  5. Save をクリック

バリデーション

  • Enum 名は必須。既存の Enum 名と重複できない
  • 値は1つ以上必要
  • 値の重複は不可
  • 値の前後の空白は自動でトリムされる。大文字と小文字は区別され、Highhigh は別の値として扱われる

列から Enum を作成する

既存の string 列のユニーク値から Enum 定義を自動生成できます。

  1. Create from Column をクリック
  2. データセットを選択
  3. 列を選択する。string 型の列のみ選択可能
  4. Enum 名を入力する。デフォルトは {列名}_enum
  5. プレビューでユニーク値の一覧、件数、割合を確認
  6. Create Enum をクリック

値は出現頻度の降順にソートされます。ユニーク値が50を超える場合、出現頻度の高い上位50件のみが使用されます。プレビューに警告が表示されるので、対象の値を確認してください。

順序に意味があるカテゴリでは、作成後に必ず Edit で値の順序を確認してください。値の順序をグラフや統計量に反映するには、列を Enum 型に変換したうえで順序尺度への変更も必要です。

Create from Column ダイアログ

Enum を編集・削除する

編集

Enum カードの Edit をクリックすると編集モードになり、名前の変更、値の追加・削除、順序の変更ができます。値の順序は、各値の右側の上下の矢印ボタンで変更します。

すでにこの Enum 型に変換済みの列がある場合、以下の制約があります。

  • 名前は変更できません。変更したい場合は、対象列を一度 string 型に戻してから Enum 名を変更し、再度 Enum 型に変換してください
  • 列のデータに残っている値は削除できません。先に列の型変換で対象列を string 型に戻し、不要な値を除外または置換してから再度 Enum 型に変換してください
  • 順序を変更すると、変換済みの列が順序尺度に設定されている場合は確認ダイアログが表示されます
  • 値の追加には制限がありません。ただし1つの Enum 定義に設定できる値の上限は50個のままです

順序の変更を保存すると、順序尺度に設定した列では、新しい順序が 基本統計量、Data Table のソート、グラフの凡例の並び順にすぐ反映されます。作成済みのグラフの軸の並び順は、列を軸に割り当てた時点の値順序を Category Order として保持しているため、自動では変わりません。新しい順序を軸に適用するには、グラフ設定パネルの Category Order を変更してください。

削除

Enum カードの Delete をクリックすると、Enum 定義を削除できます。依存する列がある場合は削除できません。先に列の型変換で依存する列のデータ型を変更してください。

string 列を Enum 型に変換する

Enum 定義を作成した後、列の型変換で string 列を Enum 型に変換します。

  1. Data Table で列ヘッダーを右クリックし、Convert Column Types... を選択
  2. 変換したい列の To ドロップダウンで、作成した Enum 名を選択
  3. Preview で変換結果を確認
  4. Apply で変換を実行

変換結果は新しいデータセットとして作成されます。元のデータセットは変更されません。

string 列に Enum 定義へ含まれない値があった場合は、列の型変換のエラー処理オプションに従って処理されます。NULL を選ぶと該当セルが NULL になり、Exclude row を選ぶと該当行が結果のデータセットから除外され、Fail を選ぶと変換が中止されます。大文字と小文字は区別されるため、表記が一致しない値は「Enum 定義に含まれない値」として扱われます。

順序のあるカテゴリでは、変換後に順序尺度への変更も必要です。

順序尺度とグラフへの影響

順序尺度への変更

Enum 型の列はデフォルトで名義尺度に設定されます。値の順序に意味がある場合は、Data Table で列ヘッダーを右クリックし、Edit Scale of Measurement から順序尺度に変更してください。測定尺度は基本統計量で表示される項目の絞り込み基準として使われます。測定尺度全般についてはデータ型と測定尺度を参照してください。

グラフの軸順序

Enum 型の列を順序尺度に設定すると、グラフの軸と凡例(color、fill、shape などの aesthetic)の両方で Enum 定義の値順序が初期値として設定されます。名義尺度のままだと、軸も凡例もアルファベット順にソートされます。軸の表示順はグラフ設定パネルの Category Order から手動で変更できます。

基本統計量で測定尺度ごとに表示される統計量の一覧は数値型(int64、float64)の列を前提としています。Enum 型の列では、名義尺度のままだと string 型と同じ度数集計のみが表示されます(ただし Enum 型では定義外の値が混入しない点が string 型と異なります)。順序尺度に変更すると、度数集計に加えて Enum 定義の位置順序に基づく min / max / median / 四分位点が計算されます。mean / std / skewness / ex. kurt は値間の距離が定義されないため計算できません。iqr(= Q3 − Q1)は値間の距離が定義されない順序尺度では意味を持たないため、計算しません。計算方法の詳細は 基本統計量 - 文字列型と Enum 型 を参照してください。

See also