多分内部ではchisq.testを使っているからだと思うが、医学のデータではかなり少数の検討をしなければならないこともあり、0のセルがあってもやるしかないこともある。
その時はコマンドfisherを使ってやるべきなのだが、僕がいつも使っているfisherというものは群馬大学の青木先生という方が作って公開しているもので、このページにかいている。
http://aoki2.si.gunma-u.ac.jp/R/fisher.html
ここの
source("http://aoki2.si.gunma-u.ac.jp/R/src/fisher.R", encoding="euc-jp")
という1分をRの画面に貼り付ければ出来る。(RコマンダではなくRコマンダではなく本体)
そして
x <- matrix(c(50,30,20,40), byrow=TRUE, ncol=2)
fisher(x)
とすれば計算してくれる。
xは行列、ここでは2*2の分割表を指定する。
byrowってのは行を優先してください。
ncol=2というのは列は2までにしてください。ってこと。
数字をc()で囲んでいるのはおまじないとして覚えてください。
あと、もしかするとfisher(x)とするとエラーが出てしまう可能性があります。
大概の場合そのエラーの文章をコピーしてgoogle先生に見てもらうと同じエラーを起こしている人がかならずいます。
確認してみてください。
0 件のコメント:
コメントを投稿