How to use the 'splitapply' function for columns of a table?
13 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
MathWorks Support Team
el 9 de Ag. de 2019
Comentada: Walter Roberson
el 22 de Oct. de 2021
Can the 'splitapply' function work on multiple columns on a table without using 'for' loop?
Respuesta aceptada
MathWorks Support Team
el 9 de Ag. de 2019
You can achieve this after converting the table into a matrix and then using the 'splitapply' function.
Please find the code snippet for a similar example below:
Age = [38; 43; 38; 40; 49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
Gender = {'F';'F';'M';'F';'M'};
T = table(Age,Height,Weight,Gender);
[G,gender] = findgroups(T.Gender);
Tarray = table2array(T(:,1:end-1));
out_mean = splitapply(@mean,Tarray,G);
Please find additional information on the 'splitapply' function in the documentation link below:
2 comentarios
Robert
el 22 de Oct. de 2021
This errors when any group only has one member. For example, if the genders are
Gender = {'F';'F';'M';'F';'F'};
I get an error when calling splitapply afterwards.
Is there any other solution?
Más respuestas (0)
Ver también
Categorías
Más información sobre Data Import and Analysis 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!