How to transpose every cell in a table?
24 次查看(过去 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 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!