遺伝学コースの、ただRだけをひたすらやる集中講義。
やりたい検定、したい解析を見つける。
そのためにデータセットをシミュレーションして作る。
ということで、対応のないt検定をやろう。
とりあえず、t検定にたどり着くまでの
とてもちいさな、とてもおおきな、とてもたいせつな、あいとゆうきのおとぎばなし。
データの確認。
2群作って、身長が収まっていることにしよう。
シミュレーションデータの作成。
片方は、平均と分散を与えて、正規分布から作成し、もう片方は、指数分布から作成する。
t検定を行うときに、平均、分散、分布でそれぞれ同じ、異なる、というパターンでやろう。
という訳で中身はできた。あとは、t検定をしてくれる関数を探そう。
帰無仮説としては、身長の平均に差はない、ということになろうか。
あとは、このシミュレーションを複数回行い、p値が一様に分布しているか確かめよう。
n1<- 25 n2<- 30 mean12<- c(160,170) sd12<- c(10,30) result_p<- rep(0,8) set_mean<- c("MEAN","mean") set_sd<- c("SD","sd") set_dis<- c("DISTRIBUTION","distribution") par(mfrow=c(2,4)) for(m in 1:2){ for(s in 1:2){ for(d in 1:2){ if(d == 1){ g1<- rnorm(n1,mean12[1],sd12[1]) g2<- rnorm(n2,mean12[m],sd12[s]) }else{ g1<- rnorm(n1,1/mean12[1]) g2<- rexp(n2,1/mean12[m]) } p_value<- t.test(g1,g2)$p.value boxplot(g1,g2,frame=FALSE,axes=FALSE,xlab=paste("p=",p_value)) axis(2) title(paste(set_mean[m],set_sd[s],set_dis[d])) } } }