Create a subtable from a larger table
145 views (last 30 days)
Show older comments
Wendy Cameron
on 20 Jun 2018
Commented: Peter Perkins
on 3 Jul 2018
Hi Everyone, I'm hoping this specific question might be useful too in other more general situations.
I have some sample data attached and want to create some sub-tables from this. How can I look down the Woollybud column and where ever it says "Woolly bud" tabulate the data from the year column and the ACCUM GDD column that coincides with this and create a second table so I get a summary table: Year ACCUM GDD 1999 32 2000 11.75 2001 35.5 and so on
and likewise for the next column Budburst, create a summary table of Year and ACCUM GDD for Budburst?
Much appreciated, Wendy
0 Comments
Accepted Answer
Steven Yeh
on 20 Jun 2018
You can use the readtable function to build a table first, then retrieve the subtable with conditional indexing.
For example:
A = readtable('Matlab example extract table.xls');
w_table = A(A.Woollybud == "Woolly bud", :);
b_table = A(A.Budburst == "Budburst", :);
More Answers (1)
Steven Lord
on 20 Jun 2018
Depending on what you mean by "summary" (compute the average of each table column for each value of your grouping variable, or put all the rows with the same value of your grouping variable together) either groupsummary or sortrows may be of use to you.
1 Comment
Peter Perkins
on 3 Jul 2018
As Steve says, it's often possible to do "groupwise" calculations without actually splitting up your data. If you have a lot of different groups, it's much easier that way.
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!