データセットやテーブルはどのように転置しますか?
25 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2018 年 8 月 16 日
回答済み: MathWorks Support Team
2018 年 8 月 16 日
データセットやテーブルのデータを転置したいのですが、どのようにすればよいでしょうか?
例えば以下のようなデータセットがあるとします。
>> X = dataset({[1;2], 'a'}, {[100;200], 'b'}, 'ObsNames', {'c','d'})
X =
a b
c 1 100
d 2 200
これを以下のようにする方法です。
>> Xt = X'
Xt =
c d
a 1 2
b 100 200
同様に、以下のようなテーブルを
>> X = array2table([1 100; 2 200],'VariableNames',{'a','b'},'RowNames',{'c','d'})
X =
a b
_ ___
c 1 100
d 2 200
以下のようにする方法です。
>> Xt = X'
Xt =
c d
___ ___
a 1 2
b 100 200
採用された回答
MathWorks Support Team
2018 年 8 月 16 日
データセットやテーブルは転置することはできず、セルを使用したプログラミングで対処します。
データセットの場合はdataset2cellやcell2datasetを使用します。
>> Xc = dataset2cell(X)
Xc =
'ObsNames' 'a' 'b'
'c' [1] [100]
'd' [2] [200]
>> Xt = cell2dataset(Xc','ReadObsNames',true)
Xt =
c d
a 1 2
b 100 200
テーブルの場合はtable2cellやcell2tableを使用します。
>> Xc = table2cell(X)
Xc =
[1] [100]
[2] [200]
>> Xt = cell2table(Xc','RowNames',X.Properties.VariableNames,'VariableNames',X.Properties.RowNames)
Xt =
c d
___ ___
a 1 2
b 100 200
なお、R2018aからはrows2varsコマンドが提供されています。
<https://www.mathworks.com/help/matlab/ref/rows2vars.html>
0 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!