Enum 定義

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

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

Manage Enums タブを開く

メニューバーから Data > Manage Enums... を選択すると、Enum Definitions タブが開きます。このタブで 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 で値の順序を変更できます。

Create from Column ダイアログ

Enum を編集・削除する

編集

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

この Enum 型に変換済みの列(依存する列)がある場合、依存関係のチェックが行われます。

  • 名前の変更: 依存する列がある場合は変更できない
  • 値の削除: 削除対象の値が依存する列のデータにまだ残っていれば、削除は拒否される。Enum 列の値は常に定義内または NULL であることを不変条件として維持するため。先に列の型変換で該当値を NULL 化または除外してから削除する
  • 順序変更: 依存する列がある場合は警告ダイアログが表示される。順序尺度の列では、Data Table のソート結果やグラフの凡例の並び順に影響する
  • 値の追加: 依存する列がある場合でも制限なく追加できる

削除

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 型の列はデフォルトで名義尺度に設定されます。値の順序に意味がある場合は、Data Table で列ヘッダーを右クリックし、Edit Scale of Measurement から順序尺度に変更してください。測定尺度は使用できる分析手法にも影響します。詳しくはデータ型と測定尺度を参照してください。

グラフの軸順序

Enum 型の列をグラフの軸に使用すると、測定尺度にかかわらず Enum 定義の値順序に従って軸が表示されます。string 型のカテゴリ列はアルファベット順にソートされるため、特定の順序で表示したい場合は Enum 型への変換が有効です。

凡例(color、fill、shape などの aesthetic)の表示順は、順序尺度に設定した場合のみ Enum 定義の値順序に従います。名義尺度のままだと、凡例は文字列としてアルファベット順にソートされます。

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

See also