Выберите Subsets of Observations

В этом примере показано, как выбрать наблюдение или подмножество наблюдений от массива набора данных.

Загрузка демонстрационных данных.

Загрузите демонстрационный массив набора данных, hospital. Массивы набора данных могут иметь наблюдение (строка) имена. Этот массив имеет имена наблюдения, соответствующие уникальным терпеливым идентификаторам.

load hospital
hospital.Properties.ObsNames(1:10)
ans = 10x1 cell array
    {'YPL-320'}
    {'GLI-532'}
    {'PNI-258'}
    {'MIJ-579'}
    {'XLK-030'}
    {'TFP-518'}
    {'LPD-746'}
    {'ATA-945'}
    {'VNL-702'}
    {'LQW-768'}

Это первые 10 имен наблюдения.

Индексируйте наблюдение по наименованию.

Можно использовать имена наблюдения, чтобы индексировать в массив набора данных. Например, извлеките фамилию, пол и возраст для пациента с идентификатором XLK-030.

hospital('XLK-030',{'LastName','Sex','Age'})
ans = 
               LastName         Sex       Age
    XLK-030    {'BROWN'}        Female    49 

Индексируйте подмножество наблюдений номером.

Создайте новый массив набора данных, содержащий первые 50 пациентов.

ds50 = hospital(1:50,:);
size(ds50)
ans = 1×2

    50     7

Поисковые наблюдения с помощью логического условия.

Создайте новый массив набора данных, содержащий только штекерных пациентов. Чтобы найти штекерных пациентов, используйте логическое условие искать переменное, содержащее информацию о поле.

dsMale = hospital(hospital.Sex=='Male',:);
dsMale(1:10,{'LastName','Sex'})
ans = 
               LastName            Sex 
    YPL-320    {'SMITH'   }        Male
    GLI-532    {'JOHNSON' }        Male
    ATA-945    {'WILSON'  }        Male
    VNL-702    {'MOORE'   }        Male
    XUE-826    {'JACKSON' }        Male
    TRW-072    {'WHITE'   }        Male
    KOQ-996    {'MARTIN'  }        Male
    YUZ-646    {'THOMPSON'}        Male
    KPW-846    {'MARTINEZ'}        Male
    XBA-581    {'ROBINSON'}        Male

Поисковые наблюдения с помощью нескольких условий.

Можно использовать несколько условий искать массив набора данных. Например, создайте новый массив набора данных, содержащий только пациенток, старше, чем 40.

dsFemale = hospital(hospital.Sex=='Female' & hospital.Age > 40,:);
dsFemale(1:10,{'LastName','Sex','Age'})
ans = 
               LastName            Sex       Age
    XLK-030    {'BROWN'   }        Female    49 
    TFP-518    {'DAVIS'   }        Female    46 
    QFY-472    {'ANDERSON'}        Female    45 
    UJG-627    {'THOMAS'  }        Female    42 
    BKD-785    {'CLARK'   }        Female    48 
    VWL-936    {'LEWIS'   }        Female    41 
    AAX-056    {'LEE'     }        Female    44 
    AFK-336    {'WRIGHT'  }        Female    45 
    KKL-155    {'ADAMS'   }        Female    48 
    RBA-579    {'SANCHEZ' }        Female    44 

Выберите случайное подмножество наблюдений.

Создайте новый массив набора данных, содержащий случайное подмножество 20 пациентов от массива набора данных hospital.

rng('default') % For reproducibility
dsRandom = hospital(randsample(length(hospital),20),:);
dsRandom.Properties.ObsNames
ans = 20x1 cell array
    {'DAU-529'}
    {'AGR-528'}
    {'RBO-332'}
    {'QOO-305'}
    {'RVS-253'}
    {'QEQ-082'}
    {'EHE-616'}
    {'HVR-372'}
    {'KOQ-996'}
    {'REV-997'}
    {'PUE-347'}
    {'LQW-768'}
    {'YLN-495'}
    {'HJQ-495'}
    {'ELG-976'}
    {'XUE-826'}
    {'MEZ-469'}
    {'UDS-151'}
    {'MIJ-579'}
    {'DGC-290'}

Удалите наблюдения по наименованию.

Удалите данные для пациента с именем наблюдения HVR-372.

hospital('HVR-372',:) = [];
size(hospital)
ans = 1×2

    99     7

Массив набора данных имеет тот меньше наблюдения.

Смотрите также

Связанные примеры

Больше о