How to transpose every cell in a table?
20 ビュー (過去 30 日間)
古いコメントを表示
I have a table that contain array of double in every cell. It looks like this:
Column1 Column2
____________ ________________
1×7 double 1×27 double
1×7 double 1×27 double
1×7 double 1×27 double
1×7 double 1×27 double
1×7 double 1×27 double
But I need every cell to be 7x1 or 27x1, respectively (data in column vector, not row vector). How can I transpose it?
1 件のコメント
the cyclist
2023 年 3 月 18 日
Are your data truly in a table data object? Or possibly in a cell array (which is arguably the more common method for storing data like this)?
採用された回答
the cyclist
2023 年 3 月 18 日
編集済み: the cyclist
2023 年 3 月 18 日
% If data are in a cell array
c = {rand(1,7),rand(1,27)}
ctrans = cellfun(@transpose,c,'UniformOutput',false)
% If data are in a table, convert to cell array, transpose, and convert back
t = table(rand(1,7), rand(1,27), 'VariableNames', {'t1','t2'})
ct = table2cell(t);
cttrans = cellfun(@transpose,ct,'UniformOutput',false);
ttrans = cell2table(cttrans)
There might be a more direct way to do this operation on a table, but I didn't think of one. Also, you'll need to rename the table variables.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!