Find and compare rows in table by column value

4 views (last 30 days)
Maximilian Myllyaho Forsberg
Answered: dpb on 5 Jan 2022
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".

Answers (1)

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

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!