2012年11月12日月曜日

分割表で0のセルがあるとRcmdrでは解析できない。

Rコマンダでは背景因子の分析をするときに2*2で0のセルが一つ以上あれば解析できない。

多分内部では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 件のコメント:

コメントを投稿