Date: Dec 20, 2012 10:26 AM
Author: Barry Shaw
Subject: subset of dataset
I use the hospital data already in MATLAB to illustrate:
Simplified version of my problem follows. In reality I may want several criteria, not just two as below.
If I want to pick out those patients Age = 38 I can:
>> subset_Age38 = hospital(hospital.Age == 38,:)
If I want to pick out those patients Age = 39 I can:
>> subset_Age39 = hospital(hospital.Age == 39,:)
If I want to pick out those patients Age = 38 AND 39 I try:
subset_Age3839 = hospital(hospital.Age == [38 39],:)
but get the error
Error using ==
Matrix dimensions must agree.
I can use the following work around, which gives me what I want:
>> ages_to_view = [38 39];
>> [refs] = find(ismember(hospital.Age,ages_to_view));
>> subset_Age3839 = hospital(refs,:)
But is there a way to do this as I initially tried it? I don't want to use a 38 | 40, as I may have an awful lots of values to set as criteria.