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

8 ビュー (過去 30 日間)
Heidi Hirsh
Heidi Hirsh 2019 年 4 月 12 日
回答済み: Oluwafemi 2024 年 3 月 11 日
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 件のコメント
darova
darova 2019 年 4 月 12 日
Look for strcmp(), regexp(). Use curly braces to select data in table (weekly{:,1})

サインインしてコメントする。

回答 (1 件)

Oluwafemi
Oluwafemi 2024 年 3 月 11 日
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,:)

カテゴリ

Help Center および File ExchangeShifting and Sorting Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by