[ ] (square brackets)を使って、各要素にアクセスする方法は、下記参照。
Vector、Matrix、DataFrame、List etc. から [] (square brackets) を使って特定の要素へアクセスする方法。 ベクトル (Vector) の場合 Vectorを作る。 v & …
この基本を使って、データフレームの行や列を抽出する。
今回は、下記データ(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.については、下記参照。
演算子等の覚え書き。 論理演算子 論理演算子 左片は右辺より小さい > 左片は右辺より大きい = 左片は右辺以下 >= 左片は右辺以上 == 等しい != 等しくない ! 否定 | 両辺のど …