Create a subtable from a larger table

201 views (last 30 days)
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

Accepted Answer

Steven Yeh
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", :);
  1 Comment
Wendy Cameron
Wendy Cameron on 20 Jun 2018
Thanks very much Stephen that works. If it is a table with many more columns I can then just extract the columns I want. I am slowly learning! Much appreciated.
Kind regards, Wendy

Sign in to comment.

More Answers (1)

Steven Lord
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
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.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by