How do I slice a matrix by the values in a certain column?

7 views (last 30 days)
Heidi Hirsh
Heidi Hirsh on 12 Apr 2019
Commented: darova on 12 Apr 2019
I have a large "master" table that I read in as a matrix. I wanted to create new matrices for each "height" value (there are 5: S, 1T, 10B, 4B, and 1B). Right now I have done this the "dumb" way by just sorting by height and creating new csv tables to read in but that is not a good solution at all. Is there a way to loop through the matrix and save all the rows for appropriate heights? (or another parameter that I want to group/sort by).
I have attached a screenshot of the table I am working with.
I hope you can understand my question. I am having a hard time putting what I want to do into words...
This is how I am reading in data so far...
weekly = readtable('MasterSampleLog_weekly_v1_withNO3.csv');
samples.SampleID = weekly.Sample_ID;
samples.TA = weekly.TA;
samples.DIC = weekly.DIC;
samples.Temp = weekly.Temperature;
samples.Sal = weekly.SAL;
samples.Height = weekly.height;
samples.PH =;
  1 Comment
darova on 12 Apr 2019
Look for strcmp(), regexp(). Use curly braces to select data in table (weekly{:,1})

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!