Rearrange rows in a table

34 visualizzazioni (ultimi 30 giorni)
daniele marchese
daniele marchese il 21 Dic 2021
Modificato: Walter Roberson il 21 Dic 2021
Hello to everyone,
I have a 48x5 table.
my goal is to horizontally concatenate each rows as successive columns in order to reach a 1x240 finale table.
1 60 25 98, 1 60 25 98,1 60 25 98, 1 60 25 98, 1 60 25 98, 1 60 35 98, 1 60 35 98, 1 60 35 98, 1 60 35 98 ...
i guess it is a simple task but cant find a simple solution
thank you very much for any help

Risposte (1)

Walter Roberson
Walter Roberson il 21 Dic 2021
tempTable = splitvars(YourTable);
data_as_single_row = reshape(tempTable{:,:}.', 1, []);
You can put data_as_single_row into a table, but the question then becomes what column names you want for each entry.
  2 Commenti
daniele marchese
daniele marchese il 21 Dic 2021
first of all, thank you very much for your fast reply.
the thing is i need to assign each variable within the previous 1x240 table to a 8x240 matrix in that order:
1 60 25 98, 1 60 25 98,1 60 25 98, 1 60 25 98, 1 60 25 98, 1 60 35 98, 1 60 35 98, 1 60 35 98, 1 60 35 98 ...
Walter Roberson
Walter Roberson il 21 Dic 2021
Modificato: Walter Roberson il 21 Dic 2021
num_rows = numel(Cell_Of_Tables);
output = zeros(num_rows, 240);
for K = 1 : num_rows
tempTable = splitvars(Cell_Of_Tables{K});
data_as_single_row = reshape(tempTable{:,:}.', 1, []);
output(K,:) = data_as_single_row;
end
where Cell_Of_Tables is a cell array, each entry of which is a table() object.

Accedi per commentare.

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by