Reshape

データの形状を Wide 形式(横持ち)と Long 形式(縦持ち)の間で変換できます。分析手法に合わせてデータのレイアウトを変更する場合に使用します。

基本的な使い方

Reshape を開く

メニューバーから Data > Reshape (Wide/Long)... を選択すると、新しい Reshape タブが開きます。

Reshape タブの基本画面

画面は左側の設定パネルと右側のプレビューエリアで構成されます。設定パネル上部のタブで Wide to LongLong to Wide を切り替えます。

このページで使用するデータ

この説明では、5人の生徒の成績データ(grades.csv)を使用します。科目ごとに列が分かれた Wide 形式の CSV ファイルです。

namemathscienceenglish
Alice908588
Bob759280
Carol887895
Dave928882
Eve789590

Wide to Long(横→縦)

複数の列を1つの列にまとめます(unpivot)。各行が複数行に展開されます。

たとえば、上の成績データを「1行1科目」の形式に変換する場合に使います。変換後は次のようになります。

namesubjectscore
Alicemath90
Alicescience85
Aliceenglish88
Bobmath75
.........

パラメータ

Dataset - 変換対象のデータセットを選択します。

ID Columns - そのまま保持する列を選択します。上の例では name が該当します。省略可能です。

Value Columns - 展開する列を選択します。上の例では mathscienceenglish の3列です。最低1列の指定が必要です。

Variable Column Name - 展開された列名が入る新しい列の名前を指定します。デフォルトは variable です。

Value Column Name - 展開された値が入る新しい列の名前を指定します。デフォルトは value です。

設定が完了したら Preview ボタンをクリックして結果を確認します。

Wide to Long 変換のプレビュー

Long to Wide(縦→横)

キー・バリュー形式のデータを列に展開します(pivot)。複数行が1行にまとめられます。

Wide to Long の逆変換や、集計結果を表形式に整理する場合に使います。

パラメータ

Dataset - 変換対象のデータセットを選択します。

ID Columns - 行を特定するための識別子列を選択します。省略可能です。

Variable Column - 列名になる値を持つ列を1つ選択します。この列のユニークな値がそれぞれ新しい列になります。

Value Column - セル値として使用する列を1つ選択します。

Long to Wide 変換のプレビュー

プレビューと保存

Preview ボタンで変換結果を確認できます。プレビューには最大100行が表示され、結果の行数と列数も表示されます。

結果に問題がなければ Save as Dataset をクリックします。データセット名を入力して保存すると、新しい派生データセットとして利用できるようになります。

注意事項

  • Wide to Long で値列のデータ型が混在する場合、値列は string 型に変換されます
  • Long to Wide で同じ ID 列と変数列の組み合わせが重複している場合、エラーになります。ID 列を追加して各行を一意に識別できるようにしてください
  • Long to Wide で値がない組み合わせは空欄(null)になります

See also