以下の表から、任意のデータを取り出す。
こんな計画行列のデータがあったとする。データの詳細はここを参照。ここからgroups列のaだけを抽出したい。なお、今回はデータの名前をdata1としている。
- 任意の行を取り出す。
コードは以下の通りとなる。データの名前はdata1としている。データの中の抜き出したい行数を指定する。1から20行目までがグループaのデータになるため、1:20として、抜き出したい行数を指定する。[]の中の , より左は行、右は列を指定することになる。今回は任意の行を抜き出したいので、 , より左側で行数を指定する。
data1[1:20, ]
出てくる結果は以下の通り。
groups values
1 a 32.1
2 a 29.5
3 a 34.8
4 a 31.6
5 a 32.6
6 a 34.1
7 a 25.3
8 a 31.4
9 a 30.2
10 a 30.8
11 a 27.7
12 a 32.2
13 a 31.3
14 a 30.0
15 a 27.8
16 a 32.9
17 a 34.5
18 a 34.2
19 a 26.4
20 a 32.7
bの行を抽出したかったら、[]の中を21:40に指定すればよい。
行数を指定するのではなく、行の文字(aとかb)を指定して抽出する方法もある。コードは以下の通りだが、可読性があまり高くない。
今回はtidyverseパッケージを使用していないが、tidyverseの方がコードの可読性が高い。
data1[data1$groups == "a", ]
- 任意の列を取り出す。
コードは以下の通りとなる。データの名前はdata1としている。データの中の抜き出したい列数を指定する。[]の中の , より右に列を指定することになる。もし、1から2列目までを指定したかったら1:2とする。2列目だけを抽出したければ、2とする。
1から2列目までを抽出するコードと結果は以下の通りとなる。
data1[ ,1:2] #コード
groups values # ここから結果
1 a 32.1
2 a 29.5
3 a 34.8
4 a 31.6
5 a 32.6
6 a 34.1
7 a 25.3
8 a 31.4
9 a 30.2
10 a 30.8
11 a 27.7
12 a 32.2
13 a 31.3
14 a 30.0
15 a 27.8
16 a 32.9
17 a 34.5
18 a 34.2
19 a 26.4
20 a 32.7
21 b 34.6
22 b 34.9
23 b 36.2
24 b 34.3
25 b 35.7
26 b 35.8
27 b 32.3
28 b 32.8
29 b 35.3
30 b 33.8
31 b 33.1
32 b 33.3
33 b 34.7
34 b 35.0
35 b 35.9
36 b 33.5
37 b 34.4
38 b 35.2
39 b 36.4
40 b 35.1
2列目だけを抽出するコードと結果は以下の通り。出てくる結果は以下の通り。
data1[ ,2] #ここはコードで下は結果
[1] 32.1 29.5 34.8 31.6 32.6 34.1 25.3 31.4 30.2 30.8 27.7 32.2 31.3 30.0 27.8 32.9 34.5 34.2 26.4 32.7 34.6 34.9 36.2
[24] 34.3 35.7 35.8 32.3 32.8 35.3 33.8 33.1 33.3 34.7 35.0 35.9 33.5 34.4 35.2 36.4 35.1
- 任意の行と列を取り出す。
こんどは行と列を組み合わせるだけ。たとえば、bグループの2列目だけを取り出す。bグループは21から40行目までになるので21:40と指定する。2列目は2と指定すればよい。コードと結果は以下の通り。
data1[21:40, 2] #ここはコードで下は結果
[1] 34.6 34.9 36.2 34.3 35.7 35.8 32.3 32.8 35.3 33.8 33.1 33.3 34.7 35.0 35.9 33.5 34.4 35.2 36.4 35.1
コメント