Subset a table based on a column and another vector
Mostra commenti meno recenti
So I have a table of values and one of the columns is patient_number. I have another vector of patient numbers I want to get information about from the table.
How do I subset the table based on the second vector that I have? I want the resulting subset to be in the same order of the subseting vector.
Thanks!
Risposte (1)
Tejas
il 10 Lug 2025
Hello Steven,
To acheive the desired workflow, use the "ismember" function to find the indexes of patients from the table, that match with the patients in the vector. For more information on "ismember" function, refer to this documentation: https://www.mathworks.com/help/matlab/ref/double.ismember.html .
Below is an example showcasing how the "ismember" function can be used to acheive the desired workflow:
- Create a sample table and the second vector.
T = table([101; 102; 103; 104], {'Alice';'Bob';'Charlie';'Dana'}, ...
'VariableNames', {'patient_number', 'name'});
wantedPatients = [101 103];
- Use the "ismember" function to find the matching indexes and use them to retrieve the subset of table.
[found, idx] = ismember(wantedPatients, T.patient_number);
subset_T = T(idx(found), :);
Categorie
Scopri di più su Tables in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!