separate table data in to sub tables

9 visualizaciones (últimos 30 días)
ALDO
ALDO el 19 de Abr. de 2019
Comentada: ALDO el 10 de Oct. de 2019
Hi everyone
I have a table of data the size of 10000x3. There are 300 different names used in the rows. I would like to seperte the variables that have the same name and make a tabel for each variable.
for example if the table below is my original table :
name Variable1 variable2 variable3
A variable1_A1 variable2_A2 variable3_A3
B variable1_B1 variable2_B2 variable3_B3
K variable1_K1 variable2_K2 variable3_K3
L variable1_L1 variable2_L2 variable3_L3
A variable1_A4 variable2_A5 variable3_A6
A variable1_A7 variable2_A8 variable3_A9
L variable1_L4 variable2_L5 variable3_L6
I need to devide it to 4 differnt tables (one for each name):
name Variable1 variable2 variable3
A variable1_A1 variable2_A2 variable3_A3
A variable1_A4 variable2_A5 variable3_A6
A variable1_A7 variable2_A8 variable3_A9
name Variable1 variable2 variable3
L variable1_L1 variable2_L2 variable3_L3
L variable1_L4 variable2_L5 variable3_L6
Thank you in advance for your help!

Respuesta aceptada

Walter Roberson
Walter Roberson el 19 de Abr. de 2019
Editada: Walter Roberson el 19 de Abr. de 2019
G = findgroups(YourTable.name);
output = splitapply(@(varargin) {table(varargin{:}, 'VariableNames', YourTable.Properties.VariableNames)}, YourTable, G);
This should give a cell array of tables.
  3 comentarios
Walter Roberson
Walter Roberson el 20 de Abr. de 2019
I edited the code while you were reading my earlier response.
The c* variable stood in for columns as the documentation implies that the parameters need to be individual variables, but I figured out the way to code around that.
ALDO
ALDO el 23 de Abr. de 2019
Thank you for taking the time to look over it

Iniciar sesión para comentar.

Más respuestas (1)

Peter Perkins
Peter Perkins el 3 de Mayo de 2019
ALDO, unless you have a good reason for wanting to do this, I'm gonna suggest that you consider NOT doing it. There are a bunch of functions in MATLAB that are happy to do "grouped" calculations on your original timetable, and you will likely find those easier to use than having to loop over a 300-element cell array of tables.

Categorías

Más información sobre Programming en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by