table型のデータを転置しようとすると
>> X X = 2×5 table E1 E2 E3 E4 E5 ________ _________ ________ _________ ________ 2.05e+09 2.085e+09 2.12e+09 2.155e+09 2.19e+09 -4.698 -6.05 -5.715 -4.156 -2.758 >> X' エラー: ' (line 192) 関数 'ctranspose' (タイプ'table' の入力引数) が未定義です。 >> X.' エラー: .' (line 191) 関数 'transpose' (タイプ'table' の入力引数) が未定義です。
とエラーが出てしまう
検索すると、一度cellに変換してから転置すると良いそう
>> Xt = table2cell(X) Xt = 2×5 の cell 配列 1 列から 4 列 {[2.0500e+09]} {[2.0850e+09]} {[2.1200e+09]} {[2.1550e+09]} {[ -4.6980]} {[ -6.0500]} {[ -5.7150]} {[ -4.1560]} 5 列 {[2.1900e+09]} {[ -2.7580]} >> Xt = cell2table(Xt') Xt = 5×2 table Var1 Var2 _________ ______ 2.05e+09 -4.698 2.085e+09 -6.05 2.12e+09 -5.715 2.155e+09 -4.156 2.19e+09 -2.758
結局、まとめると
>> Xt = cell2table(table2cell(X)')
を実行すれば良い
めでたしめでたし
データセットも同じ様に単に'や.'をつけただけでは転置出来ないので一度セルに直すそう
もし行名や変数名があれば、下のように行名には転置前の変数名を、変数名には転置前の行名を指定すれば良い
>> Xt = cell2table(table2cell(X)','RowNames',X.Properties.VariableNames,'VariableNames',X.Properties.RowNames)
参考: