2014年度マイコースプログラム

4回生K.K. @統計遺伝学分野

8月27日(水)午後

原因が分からず、しょうがないので昨日の午前につくった関数で検定を行うことにした。

4個の数字から2個取り出す関数の適合度検定

myfunc01<-function(){
if (runif(1)>3/4)return(4)
else if (runif(1)>2/4)return(3)
else if (runif(1)>1/4)return(2)
else return(1)
 }#1~4を同様に確からしく抽出する関数
 
myfunc02<-function(){
if (runif(1)>2/3)return(3)
else if (runif(1)>1/3)return(2)
else return(1)
 }#1~3を同様に確からしく抽出する関数

myfunc03<-function(){
x<-c(1,2,3,4)
y<-x[c(-myfunc01())]
z<-y[c(-myfunc02())]
return(z)
}

myfunc04<-function(){
z<-c()
for(i in 1:2)z<-c(z,10^(2-i)*myfunc03()[i])
return(sum(z))
}

w<-0
for(i in 1:10000)w<-c(w,myfunc04())

> chisq.test(w) 

        Chi-squared test for given probabilities

data:  w
X-squared = 23935.25, df = 10000, p-value < 2.2e-16

一応これでp値が十分小さいといえるので、一様に取り出すことができていることが分かった。

数理統計に関する知識があいまい過ぎるので、今日の残りの時間は図書館で借りてきた「Rではじめる統計」を読むことにした。

以上