理学療法士がまとめたノート

統計学備忘録 since2016

Rを使って統計学を勉強するブログです

subset関数で層別化したデータセット

以下のようなデータセットを男女で層別したセットに変更します

id   年齢  性 身長
1  39162.6
2  39161.4
3  41174.1
4  41154.7
5  42184.7
6  43169.3
7  43163.2
8  43164.4
9  44167.8
10 44168.5
11 44154.8
12 45158.5
13 45162.9
14 45161.4
15 45165.9
16 46171.4
17 46172.6
18 47167.6
19 47171.5
20 48166.4
21 48169.2
22 48165.3
23 48167.2
24 48170.2
31 50153.6
32 50163.6
34 51156.6
35 51152.4
36 52146.8
37 52160.7

上記のデータをコピーしてRにペーストします

data <- read.table("clipboard", header=T)

男性のみのデータセット data_m、女性のみのデータセット data_f

data_m <- subset(data, data$=="男")
data_f <- subset(data, data$=="女")

男性で身長160cm台のデータセット data_m_160

mh01 <- subset( data,=="男" & 身長 >= 160 & 身長 < 170 )

男性で身長165cm以下と170cm以上の群

mh02 <- subset( data,=="男" & 身長 <= 165 | 身長 >= 170 )

男性で身長160cm台の人数
それぞれのデータセットのn(行数)を確認する

nrow(mh01);nrow(mh02)

身長の差の検定 年齢40未満 vs 年齢48より上

d45 <- subset(data,年齢<45)
d48 <- subset(data,年齢>48)
t.test(d45$身長,d48$身長)
#subset使用せずに、次のように書くことも可能
t.test(data[data[,2]<45,4],data[data[,2]>48,4])