How to transpose every cell in a table?
24 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Karol P.
am 18 Mär. 2023
Bearbeitet: Karol P.
am 18 Mär. 2023
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 Kommentar
the cyclist
am 18 Mär. 2023
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)?
Akzeptierte Antwort
the cyclist
am 18 Mär. 2023
Bearbeitet: the cyclist
am 18 Mär. 2023
% 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.
1 Kommentar
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!