Find and compare rows in table by column value

4 次查看(过去 30 天)
Hello i have a table in witch I only care about two columns. The table looks something like this
Year_Birth | Income | Martial status | ... | ... | ... | Ed_level |
1992 | 2000 | Divorced | ... | ... | ... | High |
1989 | 6700 | Divorced | ... | ... | ... | low |
1994 | 8900 | Divorced | ... | ... | ... | High |
..... | ..... | ...... | ... | ... | ... | .... |
I want to be able to look at "Ed_Level" and take 50 random rows with "High" Ed_level and take the mean of their income (Get their mean etc).
So far I have been able to take out the groups and get their mean by doing the following:
G = findgroups(table.Ed_level);
meanInc = splitapply(@mean, table.Income, G);
But i cant seem to figure out how to get out 50 random sambles of only one of the diffrent "Ed_levels".

回答(1 个)

dpb
dpb 2022-1-5
groupsummary(table,{'Year','Ed_level'},@(x)mean(x(randperm(numel(x),50)),'Income')

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by