EZR のフィッシャーの正確検定でオッズ比の信頼区間のパーセントを変える方法。
EZRでフィッシャーの正確検定を行うには?
EZRでフィッシャーの正確検定(Fisher’s Exact Test)を行うには、使用するデータを読み込んでから「統計解析」から「名義変数の解析」の中の「分割表の作成と群間の比率の比較(Fisherの正確検定)」を選択する。

今回使用しているのは、survival パッケージの flchain データセット。
性別(sex)と疾病診断(mgus)の関連性を検討してみる。

OKをクリックすると結果が表示される。
一番下に出てきている結果より少し上に、Fisher Exact Testの結果本体が表示されている。
ハイライトしたところがオッズ比の95%信頼区間である。

EZRでフィッシャーの正確検定を集計データで行うには?
EZRでフィッシャーの正確検定を集計データでも行うことができる。
メニューの「統計解析」から「名義変数の解析」の中の「分割表の直接入力と解析」を用いる。

直接入力するダイアログボックスが開くのだが、直接入力する枠が表示されていないため、行数のスライドバーを動かして枠を表示させる。
(EZR version 1.52で生じる症状。1.54では修正されている)

一度行数を3にすると、3x2の枠が現れる。
その後行数を2に戻すと2x2の枠になる。

2x2の枠に集計値を入力する。
先ほどの集計結果を使って入力してみる。

OKをクリックすると、先ほどと同じ結果が表示される。

EZRでフィッシャーの正確検定のオッズ比の信頼区間のパーセントを変えるには?
EZRでフィッシャーの正確検定を行った結果オッズ比が表示されるが、その信頼区間は一般的な95%である。
この信頼区間の信頼度を90%にしたい場合はどうすればいいか?
ダイアログボックスでは選択・調整する項目がないので、Rスクリプトを書き替えて、再実行する。
まず、Rスクリプト内に以下の部分を見つける。
fisher.test(.Table)
上下を含めた個所をスクショしてみると以下の通り。

fisher.test(.Table)を見つける
次に、該当部分をコピーして、Rスクリプトの最後に張り付け、()内にconf.level=0.9と書き入れる。
fisher.test(.Table, conf.level=0.9)
書き入れたスクショは以下の通り。

最後に、ハイライトしたまま、右端の実行ボタンをクリックする。
そうすると以下のように出力される。

先ほどの95%信頼区間よりも幅が狭い90%信頼区間が計算されているのがわかる。
データを使った方法でも、直接入力でも、fisher.test(.Table)の部分は同じなので、同じ手順でパーセントを変えた信頼区間を計算させることができる。

まとめ
EZRでフィッシャーの正確検定は、集積したデータから集計したのち計算することも、集計値を直接入力して計算することも、いずれの方法でも実施可能である。
計算されるオッズ比の信頼区間は、標準では95%信頼度であるが、Rスクリプトを使い、conf.level=というオプションを使えば、90%など異なるパーセントに変更することが可能である。
おすすめ書籍
EZR公式マニュアル

コメント