How to reorganize the data in table?

I have a large table like this: (the first row is column name "E" and "M")
I want to know how many "blc" has "m" and how many "blc" has "f" and the same thin for "whi". Any idea how?

 Accepted Answer

Use groupsummary. Group the data first by E then by M. Groupsummary will tell you the count of each group. Here's an example using the name data for the table.
E=["blc";"whi";"blc";"blc";"whi";"blc";"blc";"blc";"whi";"whi";"whi";"whi"];
M=["m";"f";"f";"f";"f";"m";"f";"f";"m";"m";"m";"f"];
data=table(E,M);
summaryTbl = groupsummary(data,["E","M"])
summaryTbl =
4×3 table
E M GroupCount
_____ ___ __________
"blc" "f" 4
"blc" "m" 2
"whi" "f" 3
"whi" "m" 3

4 Comments

worked with slightly modification:
groupsummary(data,{'E','M'})
Thanks!
madhan ravi
madhan ravi on 10 Aug 2020
Edited: madhan ravi on 10 Aug 2020
? Isn’t that what Cris gave y0u.
Cell vs string. Might have an older version of MATLAB.
madhan ravi
madhan ravi on 10 Aug 2020
Edited: madhan ravi on 10 Aug 2020
Ah true, but groupsummary() was introduced in 2018a hence the OP has access to string classes which was there even before 2018 (2016b I believe).

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!