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

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

8月27日(水)午前

検定の方法をネットで調べていたが、統計についてもRについても知識が不十分すぎて一向に進まないため、数理統計の勉強をやり直すべく図書館に行って教科書を探しに行く。

ついでにRについてわかりやすい本もないか探す。

とりあえず以下の3冊を借りてきた。

・「Rではじめる統計」 赤間 世紀 著 工学社
・「R言語 逆引きハンドブック」 石田 基広 著 C&R研究所
・「R言語 上級ハンドブック」 荒引 健、 石田 基広、 他 著 C&R研究所

特に「Rではじめる統計」は、当初想定していたような教科書ではないが、内容的にも分かりやすさ的にも僕にとってちょうどいいかんじなので、勉強に活用できそうである。

山田先生からの課題の適合度検定

昨日つくった関数

myfunc01<-function(N){
floor(runif(1, 1, N+1))
}

myfunc02<-function(N,n){
y<-1:N
for(i in N:n+1)y<-y[c(-myfunc01(i))]
return(y)
}#N個の数字からn個の数字を選ぶ

の結果が本当に一様分布になっているか、適合度検定によって確かめる。

まずは

myfunc02(4,2)

から。

myfunc01<-function(N){
floor(runif(1, 1, N+1))
}

myfunc02<-function(N,n){
y<-1:N
for(i in N:n+1)y<-y[c(-myfunc01(i))]
return(y)
}

myfunc03<-function(N,n){
z<-c()
w<-myfunc02(N,n)
for(i in 1:n)z<-c(z,10^(i-1)*w[i])
return(sum(z))
}

あとはこのmyfunc03で長さ10000のベクトルをつくって適合度検定…と思ったが、ここで問題発生。

> myfunc03(4,2)
[1] 31

> myfunc03(4,2)
[1] NA

よく検証してみると、

>  myfunc02(4,2)
[1] 3 4
>  myfunc02(4,2)
[1] 4
>  myfunc02(4,2)
[1] 4
>  myfunc02(4,2)
[1] 1 4

どうやらmyfunc02の段階でおかしかったらしい。

原因を考えていたが、よくわからないまま午前終了。

なかなか作業が進まない。

以上