ワークシート列のアンスタック


この機能は、グループデータを複数列にアンスタックするのに使用します。アンスタックの際に欠損値を1つのグループとしてまとめることができます。また、出力にグループ外の列を追加する事も可能です。

この機能を使うには

  1. データの入った新しいワークシートを作成します。
  2. メニューからデータ整形:列アンスタッキングを選び、wunstackcolダイアログボックスを開きます。

実際には、Xファンクションwunstackcolが呼び出されて操作を行います。

UnstackColumnsDialog.png

目次

ダイアログの設定

アンスタックされるデータ

アンスタックされるデータを指定します。

グループ列

アンスタックされるデータ列をアンスタックするためのグループ情報を含む列を指定します。選択ボタンButton Group List Add.pngを使用して、複数の列をグループ列ボックスに追加できます。ツールバーを使用して、列の順序を変更したり、列を削除したりできます。

Group Columns List Toolbar.png

Note: 列の大部分がテキストの場合、グループ列はプロット後にカテゴリーとして設定されます。

オプション

他の列を含める

ソースワークシートのアンスタックしない列を結果シートに含めるかどうかを指定します。

他の列

他の列を含めるがオンの場合に、結果シートに出力するアンスタック対象ではない列を指定します。

他の列の値の抽出ルール

他の列を含めるがオンの場合に、他の列のデータをどのように配置するかを指定します。
  • 最長グループ一致
    このオプションは、グループ化変数 (グループ列) の各値の個数が等しく、グループ化されていない変数 (他の列) の各値の個数が等しい場合に使用します。例えば、G1 と G2 の 2 つの列にアンスタックされる6つの個体があるとします。非グループ化変数には、g1、g2、g3 の 3 つの値があります。このオプションを使用するには、G1とG2にそれぞれ3つの個体があり、グループ化されていない変数のg1に2つの個体、g2に2つ、g3に2 つの個体が必要です。Note: このオプションを選択する前に、ネストソートを実行する必要があることに注意してください (最初にグループ列で並べ替え、次に他の列で並べ替えます)。
  • 全てのグループを統合する
    グループ列のデータと他の列のデータを組み合わせて、アンスタックデータのインデックスとして使用します。グループ列のデータと他の列のデータを組み合わせに重複がある場合、順序はソースワークシートでの表示に従います。

欠損データを単一グループとして含める

欠損値を一つのグループとするか指定します。
出力

出力列のソート

出力列をどのようにソートするか指定します。
  • グループ変数
    出力列をグループ変数値で英数字順に並べ替えます。例えば、グループ変数"Make"が2つの値"Acura" と "Buick"を持つとします。アンスタッキング後、列では"Acura"、"Buick"の順で出力されます。
  • アンスタックされるデータ
    アンスタックされるデータの順序を保存します。例えば、アンスタックされるデータ[Book1]Sheet1!(3,4)の場合を考えます。アンスタックすると、列3データが最初にリストされ、次に列4データがリストされます。アンスタックされるデータ[Book1]Sheet1!(4,3)の場合は、列4データが最初にリストされ、次に列3データがリストされます。

出力ワークシート

アンスタックした結果を出力する場所を指定します。

データテーブルを出力

このチェックボックスをオンにすると、アンスタック結果をデータテーブルに出力します。次のいずれかの条件を満たす場合にのみ使用できます。
  • グループ列の数 <= 2、他の列を含めるで1列が選択されている場合、
    グループ化 (2元) テーブルに出力されます。
  • アンスタックされるデータの数 = 1、グループ列の数= 1、他の列を含めるがオフの場合、
    列 (1元) テーブルに出力されます。
  • アンスタックされるデータの数 = 1、グループ列の数 = 3、他の列を含めるで1列が選択されている場合、
    グループ化 (2元)テーブルに出力されます。

グループ情報の出力先

グループ情報の出力先を指定します。
  • ロングネーム
  • コメント
  • データ列のロングネームに追加する
  • ユーザ定義パラメータ
    グループ情報をユーザ定義パラメータ行に出力します。グループ情報名の引用元でユーザ定義パラメータ名を指定します。
  • カスタム
    すべてのグループ化列にラベルの省略形を入力します。ラベルの数は、グループ列の数と同じにする必要があります。各グループ列の情報は、1つのラベル行に格納されます。たとえば、2つのグループ列がある場合、カスタムLC と入力すると、グループ1の情報はロングネームに、グループ2の情報はコメントに入力されます。

グループ情報名の引用元/データセット識別子

次の場合に使用するラベル行(ショートネームロングネーム単位コメント)を選択します。
  • グループ情報の出力先=ユーザ定義パラメータの場合、グループ情報用のユーザ定義パラメータ行に名前を付けます。
  • データテーブルを出力がオンの場合、反復データに名前を付ける。

列をアンスタッキングするには

列スタッキングと反対の操作をする機能です。列のアンスタッキングでは、他のアンスタックしていない列をアンスタックした列の結果に追加できます。

サンプル

サンプル1: 基本のアンスタッキング

グループ化データ(<Originインストールフォルダ>\Samples\Statistics\body.dat)を複数列にアンスタッキングするサンプルです。

  1. <Originインストールフォルダ>\Samples\Statistics\body.datのファイルを新しいワークブックにインポートします。
    Wunstackcol example 1.png
  2. 列DとEを選択し、ワークシート:列アンスタッキングを選択(またはコマンドウィンドウで wunstackcol -d; を実行) し、wunstackcol ダイアログを開きます。
  3. グループ列の項目にある三角形のボタンをクリックし、C(Y): genderを選択します。
  4. オプションで、他の列を含めるにチェックを付けます。他の列では、デフォルトの範囲を使用します。
  5. 他の列の値の抽出ルールドロップダウンリストで全てのグループを統合するを選択します。
  6. 出力設定のグループ情報の出力先ユーザ定義パラメータを選択して、グループ情報名の引用元ロングネームを選択します。他の設定はデフォルトのままです。
    Wunstackcol example 2.png
  7. OK ボタンをクリックし、列をアンスタックします。結果は下図のようになります。
    Wunstackcol example 3.png

例2: 日付や時間でアンスタッキング

この例では、複雑な日付時刻文字列の一部をキーにしてデータをグループ化します。

  1. 新しいワークブックを開き、データ: ファイルからインポート:単一ASCIIファイルを選択して、<Origin Program Directory>\Samples\Import and Export\Custom Date and Time.datをインポートします。
  2. 列Aヘッダをクリックして列を選択し、右クリックして列フォーマットを選択します。
  3. プロパティタブで、フォーマット日付に設定し、表示カスタム表示に設定して、カスタム表示コンボボックスに次のように入力してOKをクリックします。
    dd.MM.yyyy HH:mm:ss.##
    
    これにより、Origin が「文字列」として認識していたものを日付時刻文字列に変換し、 内部的に数値として扱えるようになります(数値演算などに利用可能)。
  4. データシートをスクロールして確認すると、文字列の時刻部分(HH:mm:ss.##)から、 測定値が09時から短い間隔で記録されていることがわかります。ここで仮に、B(Y)列のデータを「時」と「分」でグループ分けしたいとします。 再度 A(X) 列を選択し、右クリックして 列フォーマット を選び、プロパティタブでフォーマット時間に設定し、表示のドロップダウンリストからHH:mmを選択します。
    これで、ワークシートは次のようになります。
  5. Wunstackcol example 4.png

  6. ワークシート内の両列を選択し、データ整形:列アンスタッキング: ダイアログを開くを選びます。
  7. グループ列をA(X)に設定します。デフォルト設定のまま、OKボタンをクリックします。データは HH:mm 単位でグループ化され、新しいワークシートのコメントラベル行にグループ情報が保存されます。
  8. Wunstackcol example 5.png

例3: アンスタッキングした列を並び替える

この例では、<Originプログラムディレクトリ>\Samples\Statistics\automobile.datPower列を make別にアンスタックし、出力を並べ替えます。

  1. <Originプログラムディレクトリ>\Samples\Statistics\automobile.datファイルを新しいワークブックにインポートします。
  2. 列Cを選択し、データ整形:列アンスタッキングを選択し、wunstackcol ダイアログを開きます。
  3. グループ列の項目にある三角形のボタンをクリックし、B(Y): Makeを選択します。
  4. 再計算自動に変更し、デフォルト設定のまま実行します。
    Wunstackcol example 6.png
  5. OK ボタンをクリックし、列をアンスタックします。ここで、列 (B) はカテゴリカル(カテゴリデータ)として設定されていることに注意してください。
  6. UnstackCols1シート内の全データを選択し、メニューから作図>複数区分、複数軸: ラベルから複数パネルを一括作成...を選択します。
  7. グループコメントに設定します。OK をクリックして複数パネルグラフを作成します。ここで、パネルの順序は UnstackCol1 シートの列順序に従います。
  8. パネルの順序を調整したい場合(たとえばメーカー名をアルファベット順に並べたい場合)は、元のワークシートでカテゴリカル順序を調整するのが最適です。automobile シートに戻ります。列Bのカテゴリー行のヘッダセルをダブルクリックします。
  9. カテゴリーダイアログで、カテゴリの編集(追加、削除、任意の順)にチェックを付けます。テーブルのカテゴリヘッダをクリックして、アルファベット順にソートします。OKをクリックすると、
    UnstackCols1シートの列順序とグラフ内のパネル順序が更新されます。