stataのコマンドその3(リスク比とオッズ比, カイ二乗検定、Fisherの正確確率検定)

①リスク比の計算

例えば要因が喫煙(smoke)の有無で、アウトカムが肺癌(langca)を発症する人数とする。リスク比を求めたいときは、

cs アウトカム変数 要因の変数, オプション

例でいうと、cs langca smokeでカイ二乗検定のp値が求められる。

Fisherの直接確率検定で求めたければ、, exactというオプションを付ける。

cs langca smoke, exact

②リスク比を、直接2×2表から求めたい(各群の人数から求めたい)とき

immediateの略のiを、csの後に付けた、csiコマンドを用いる。

cs1 a b c d ,オプション

※a, b, c,dには各群の人数が入る

a:要因ありで発症ありの人数、b:要因ありで発症なしの人数、c:要因なしで発症ありの人数、d:要因なしで発症なしの人数

発症あり発症なし
要因ありab
要因なしcd

③cs・csiの結果の表のみかた

元の表が、行(横方向)に要因あり、なしで、列(縦方向)に発症あり、なしだったとしても、Stataの結果表示画面では、横方向に発症あり、なし、縦方向に要因あり、なし、という表示になるので、間違えないように注意。

下の方に出てくるRisk differenceがリスク差、Risk Ratioがリスク比。

さらに下に出てくるPr>chi2=0.03とか、その数字がp値。

④オッズ比:ccコマンド

cc アウトカム変数 要因の変数,オプション

例えば、要因が喫煙(smoke)の有無で、アウトカムが肺癌(langca)を発症する人数とする。オッズ比を求めたい、Fisherの直接確率検定もしたいときは、

cc langca smoke,exact

⑤カテゴリー変数の検定(カイ二乗検定、Fisherの正確確率検定)

tabulate アウトカム変数 要因変数,chi2

例えばtabulate langca smoke,shi2

列の中の割合を表示してほしいときはtabulate langca smoke, column

行の中の割合を表示してほしいときはtabulate langca smoke, row

直接、2×2表(なり、3×3表なり…)の各セルの数字を入力して検定したいときは

tabi a b\c d,chi2

※abは1行目の人数、cdは2行目の人数が入る。\がStataのDoファイル上でうまく入力できないというか読み取られないので書籍を読んだら、そのときはバックスラッシュでいいんですって。

3×3表などでも大丈夫。

tabi 34 21 56\43 61 27, chi2のように、入力する。

ただし、4×4表など分割表があまりに大きすぎると直接確率検定はできない(フリーズするか、エラーになる)。

タイトルとURLをコピーしました