データ分析では、複数の指標列を1つの列に結合しなければならないことがよくあります。例えば、5つの観測点にわたる100人のデータを表す100列×5列のデータテーブルを、グラフ作成や分析のさらなるニーズを満たすために、500列×1列のデータテーブルに変換する必要がある場合があります。では、JMPでこれを迅速に実現するにはどうすればよいでしょうか?この記事では、JMPで複数列のデータを結合するテクニックを紹介します。
データ分析において、個人が複数の主要な分析指標を持つ状況に遭遇することがよくあります(例えば、フォローアップデータにおける複数の時点のデータなど)。データをインポートする際、これらの指標は通常、異なる列にインポートされます(例えば、5つの時点のデータは5つの列にインポートされます)。このインポート方法は直感的に思えますが、分析の過程では、これらの指標を同じ列に配置する必要がある場合があります。
5列だけなら、1列ずつコピーしてもそれほど時間はかかりません。しかし、20列、あるいはそれ以上になったらどうでしょうか?時間と手間がかかるだけでなく、コピー&ペーストは間違いを起こしやすくなります。今日は、データクリーンアップの「スタッキング」機能を使って複数の列を1つの列に素早く結合し、新しい識別子変数を追加して異なる指標を表示する方法を学びます。
以下では、JMPに付属のサンプルデータを用いて、データの積み重ねを実装する方法を説明します。サンプルデータは、図1に示すように、トップメニューの「ヘルプ」→ 「サンプルデータライブラリ」から入手できます。

図1: JMPのヘルプドキュメントとサンプルデータ
今回は、サンプルデータベースの Blood Pressure.jmp データファイルを例として使用します。全体的なデータ構造を図 2 に示します。

図2 サンプル材料
20人の参加者は4つのグループに分けられました。変数BP 8Mは、月曜日の午前8時に測定された血圧値を指します。したがって、このデータには、各参加者の血圧測定値が月曜日、水曜日、金曜日の3つの異なる時刻に記録されています。これは標準的な反復測定データであり、多くの臨床現場ではこの形式でデータを収集しています。
最初のステップ:複数の列のインジケーターを 1 つの列に積み重ねます。
まず、次のようなシナリオを想像してみてください。データを取得した後、4つの被験者グループの血圧測定値に差があるかどうかを比較したいとします。この場合、血圧測定値が従属変数yとなり、測定時点とグループ分けが独立変数x1とx2となります。現在のデータ形式は、明らかにその後の分析の要件を満たしていません。
9つの時点を2つの列に積み上げ、1つは時点用、もう1つは測定値用として、1対1の対応関係を確保する必要があります。JMPでこれを行うにはどうすればよいでしょうか?たった1ステップで完了です!

図 3 - 「テーブル」メニューで「スタック」を選択すると、スタック ダイアログ ボックスが表示されます。
- 列を積み重ねる –積み重ねる列を選択します。
- 出力テーブル名 –積み重ねテーブルの名前を入力します
- 積み上げデータ列 / ソースラベル列 -積み上げ後、2つの新しい変数が作成されます。1つは時点(ソースラベル列)で、もう1つは血圧測定値(積み上げデータ列)です。それぞれに変数名を設定できます。変更を加えない場合、新しい変数はシステムのデフォルト名である【データ】と【ラベル】を変数名として使用します。
操作プロセスを図4に示します。

図4 - 柱積み作業工程のデモンストレーション
新しく生成されたデータ テーブルを図 5 に示します。

図5 - 列の積み重ね後に新しく生成されたデータテーブル
20名の参加者それぞれについて、9つの時点で血圧を測定し、180列の観測値を含む新たなデータテーブルを作成しました。ラベルとデータは、それぞれ元の時点と血圧値です。これにより、以降の分析を進めることができます。
ステップ 2: 複数列のインジケーターを 1 つの複数列のインジケーターに積み重ねます。
分析の目的が異なるため、操作は以前と同じであると考えるかもしれません。
ただし、違いは分析目的のニーズにあります。

図6 - 複数列の積み重ね
変数は連続する 3 つの列に積み重ねられ、合計 3 つの列を形成するため、列番号を 3 に設定し、「連続」をチェックして、[OK] をクリックします (下の図 7 を参照)。

図7
生成されたデータ テーブルを図 8 に示します。各参加者の毎日のデータが 1 つの列に表示されます。

図8
日常的なデータ整理や集計では、複数の列を1つにまとめるだけでなく、1つの列を複数の列に分割するケースもあります。次回の記事では、「積み重ね」の逆の操作である「分割」についてご紹介します。分割の意義と注意点は何でしょうか?次回の# 10DataAnalysisTipsコラムをお楽しみに!
元記事へのリンク: 「スタッキング」によるデータクリーニング - 複数列データのマージと処理のための強力なツール
おすすめの読み物:
注: これはこのシリーズの5番目の記事です。他の記事をご覧になるには、 #10DataAnalysisTipsをクリックしてください。