Date: Dec 20, 2012 10:26 AM
Author: Barry Shaw
Subject: subset of dataset

Hi

I use the hospital data already in MATLAB to illustrate:
>> load('hospital')

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.

Thanks
Barry