separate table data in to sub tables

9 vues (au cours des 30 derniers jours)
ALDO
ALDO le 19 Avr 2019
Commenté : ALDO le 10 Oct 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!

Réponse acceptée

Walter Roberson
Walter Roberson le 19 Avr 2019
Modifié(e) : Walter Roberson le 19 Avr 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 commentaires
Walter Roberson
Walter Roberson le 20 Avr 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 le 23 Avr 2019
Thank you for taking the time to look over it

Connectez-vous pour commenter.

Plus de réponses (1)

Peter Perkins
Peter Perkins le 3 Mai 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.
  1 commentaire
ALDO
ALDO le 10 Oct 2019
Thank you for your sugestion

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by