This question is closed. Reopen it to edit or answer.

Trim a dataset based on array of subject IDs that correspond to rows to keep in matrix

1 view (last 30 days)
I have a large matrix, where the first column is subject IDs (around 2000 people). For a particular analysis, I'd only like to look at 800 specific people. I have an array of these subject IDs. Basically, I'd like to compare the list of subject IDs I want to keep to the subject ID column in the matrix. If a subject ID isn't present in the list, I want to delete that subject's entire row from the matrix. I've done logical indexing and for loops for this type of thing on a smaller scale, but can't seem to think of how to do this efficiency on a large scale.
Thank you!

Answers (1)

dpb on 2 Oct 2015
b=a(ismember(a,list),:); % see doc ismember for details

Community Treasure Hunt

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

Start Hunting!