R logo

[ ] (square brackets)を使って、各要素にアクセスする方法は、下記参照。

この基本を使って、データフレームの行や列を抽出する。

今回は、下記データ(Data)を使用。

> print(Data)
    ID  Cohort  Sex Age ADNC    LBDSubtype
1   149 LBD     M   83  Low     BP
2   634 AD      M   78  High    DN
3   632 AD      F   75  High    BP
4   901 LBD     M   74  Not     TL
5   621 AD      F   78  High    BP
6   490 LBD+AD  M   74  High    DN
7   197 LBD+AD  F   83  Int     TL
8   351 LBD+AD  M   84  Int     DN
9   075 LBD     M   81  Low     TL
10  376 LBD+AD  F   75  Int     DN

行の抽出

1行を抽出

データフレームは、[行,列]で指定する。

例えば2行目を抽出したかったら、[2,]で抽出できる。

data_a - Data[2,]
data_a
output
    ID  Cohort  Sex Age ADNC    LBDSubtype
2   342 AD      M   78  High    DN

複数の行を抽出

例えば2行目と3行目を抽出したかったら、[2:3,]で抽出できる。

data_b - Data[2:3,]
data_b
output
    Cohort  Sex
1   LBD     M
2   AD      M
3   AD      F
4   LBD     M
5   AD      F
6   LBD+AD  M
7   LBD+AD  F
8   LBD+AD  M
9   LBD     M
10  LBD+AD  F

条件を満たす行を抽出

例えば、Ageが80歳以上の行を抽出したかったら、Data[Data$Age >80,]で抽出できる。

data_c - Data[Data$Age > 80,]
data_c
output
    ID Cohort   Sex Age ADNC    LBDSubtype
1   149 LBD     M   83  Low     BP
7   197 LBD+AD  F   83  Int     TL
8   351 LBD+AD  M   84  Int     DN
9   075 LBD     M   81  Low     TL

特定の文字を含む行を抽出

例えば、ADNCの列が"Int"となっている行を抽出したかったら、Data[Data$ADNC == "Int",]で抽出できる。

data_d - Data[Data$ADNC == "Int",]
data_d
output
    ID  Cohort  Sex Age ADNC    LBDSubtype
7   197 LBD+AD  F   83  Int     TL
8   351 LBD+AD  M   84  Int     DN
10  376 LBD+AD  F   75  Int     DN

特定の文字を含まない行を抽出

例えば、ADNCの列が"Int"となっている以外の行を抽出したかったら、Data[Data$ADNC != "Int",]で抽出できる。

data_e - Data[Data$ADNC != "Int",]
data_d
output
    ID  Cohort  Sex Age ADNC    LBDSubtype
1   149 LBD     M   83  Low     BP
2   634 AD      M   78  High    DN
3   632 AD      F   75  High    BP
4   901 LBD     M   74  Not     TL
5   621 AD      F   78  High    BP
6   490 LBD+AD  M   74  High    DN
9   075 LBD     M   81  Low     TL

演算子いろいろ

※ 演算子(◯◯より大きい、◯◯と同じ、〇〇以外 etc.については、下記参照。

にほんブログ村 子育てブログ ワーキングマザー育児へ