Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

観測のサブセットの選択

この例では、データセット配列から観測または観測のサブセットを選択する方法を示します。

標本データを読み込みます。

標本のデータセット配列 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 

観測から無作為にサブセットを選択します。

新しいデータセット配列を作成し、データセット配列 hospital から 20 人の患者を無作為に抽出したサブセットを格納します。

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

データセット配列内の観測が 1 件少なくなりました。

参考

関連する例

詳細