How to use the 'splitapply' function for columns of a table?
4 次查看(过去 30 天)
显示 更早的评论
Can the 'splitapply' function work on multiple columns on a table without using 'for' loop?
采纳的回答
MathWorks Support Team
2019-8-9
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 个评论
Robert
2021-10-22
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?
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!