このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
stack
入力 table または timetable のデータを出力 table または timetable の 1 つの変数にスタック
説明
は、入力 table または timetable S
= stack(U
,vars
)U
をスタックされた table または timetable S
に変換します。この関数は、U
の複数の変数の値を S
の 1 つの変数にスタックします。入力引数 vars
は、スタックする U
の変数を名前または U
における位置のいずれかで指定します。
U
の行数が n
個であり、vars
で U
の変数を m
個指定した場合、S
は m*n
行になります。関数 stack
は、指定された U
の変数の値をインターリーブして S
に 1 つの変数を作成します。たとえば、U
が 10 行の場合、U
の 3 つの変数をスタックすると、S
は 30 行になります。一般に、S
は U
よりも少ない変数を含みますが、より多くの行を含みます。
出力 table または timetable S
には、S
の各行のスタック データが U
のどの変数を元にしているかを示す新しい categorical
変数が含まれます。関数 stack
は、スタックされない U
の変数についてはデータを複製します。
U
が table の場合、行名はスタックできません。U
が timetable の場合、行時間はスタックできません。
は、1 つ以上の S
= stack(U
,vars
,Name,Value
)Name,Value
のペア引数で指定された追加オプションを使用して、table U
を変換します。
たとえば、S
の新しいスタックされた変数の変数名を指定できます。
例
入力引数
出力引数
ヒント
出力での複数のスタックされた変数の作成
入力の値を出力の複数の変数にスタックすることが可能です。
S
にスタックされた変数を複数作成するには、cell 配列を使用してU
の変数のグループを複数指定します。vars
で複数の値を含める場合は cell 配列を使用し、名前と値のペアの引数'NewDataVariableName'
で複数の値を含める場合は文字ベクトルの cell 配列または string 配列を使用できます。すべてのグループは同数の変数を含まなければなりません。たとえば、
U
に 4 つの変数が含まれている場合、次の構文を使用して、S
にスタックされた変数を 1 つだけでなく 2 つ作成できます。vars = {[1 2],[3 4]}; S = stack(U,vars)
この結果、
S
には、U
の 1 番目と 2 番目の変数の値をもつスタックされた変数とU
の 3 番目と 4 番目の変数の値をもつスタックされた変数が含まれます。S
の新しい変数の名前を指定するには、'NewDataVariableName'
を使用します。指定する名前の数は、vars
で指定するグループの数と等しくなければなりません。vars = {[1 2],[3 4]}; S = stack(U,vars,'NewDataVariableName',{'Vars1And2','Vars3And4'})
vars
を文字ベクトルの cell 配列として指定すると、S
には 1 つのスタックされた変数が格納されます。変数名を使用する場合に複数のスタックされた変数を指定するには、文字ベクトルの cell 配列の cell 配列、または string 配列の cell 配列を使用します。たとえば、
U
がVar1
、Var2
、Var3
、およびVar4
という名前の変数を含む table である場合、次の構文はS
に 1 つのスタックされた変数を作成します。S = stack(U,{'Var1','Var2','Var3','Var4'})
次の構文は
S
に 2 つのスタックされた変数を作成します。S = stack(U,{{'Var1','Var2'} {'Var3','Var4'}})
拡張機能
バージョン履歴
参考
unstack
| join
| スタック (table 変数) | スタック解除 (table 変数) | table の連結