exponenta event banner

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

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

Загрузить данные образца.

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

load hospital
hospital.Properties.ObsNames(1:10)
ans = 10x1 cell
    {'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
    {'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

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

См. также

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

Подробнее