subset関数で層別化したデータセット
以下のようなデータセットを男女で層別したセットに変更します
id 年齢 性 身長 1 39 女 162.6 2 39 女 161.4 3 41 男 174.1 4 41 女 154.7 5 42 男 184.7 6 43 男 169.3 7 43 男 163.2 8 43 男 164.4 9 44 男 167.8 10 44 男 168.5 11 44 女 154.8 12 45 男 158.5 13 45 男 162.9 14 45 男 161.4 15 45 男 165.9 16 46 男 171.4 17 46 男 172.6 18 47 男 167.6 19 47 男 171.5 20 48 男 166.4 21 48 男 169.2 22 48 男 165.3 23 48 男 167.2 24 48 男 170.2 31 50 女 153.6 32 50 女 163.6 34 51 女 156.6 35 51 女 152.4 36 52 女 146.8 37 52 女 160.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])