How do I slice a matrix by the values in a certain column?
9 views (last 30 days)
Show older comments
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 = weekly.ph;
1 Comment
darova
on 12 Apr 2019
Look for strcmp(), regexp(). Use curly braces to select data in table (weekly{:,1})
Answers (1)
Oluwafemi
on 11 Mar 2024
B = [0.02,4.88,-3.21,2;0.56,3.9,-2.7,2;0.91,2.2,0.13,1;1.43,0.41,-1.02,3;0.00,1.9,-3.4,2;2.7,0.5,-4.0,3]
% to get the matrix where 4th column == 2
B(B(:,4)==2,:)
0 Comments
See Also
Categories
Find more on Dates and Time 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!