回答:
あなたはマクネマー検定を必要とする(http://en.wikipedia.org/wiki/McNemar%27s_test、http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3346204/)。次に例を示します。
1300ポイントと1300マッチしたコントロールが調査されます。喫煙状況は次のとおりです。
Normal
|no |yes|
Cancer|No |1000|40 |
|Yes |200 |60 |
テーブルの各エントリは、ケースコントロールペアに関する情報を示します。1000は、1000のケースコントロールペアを意味し、どちらも喫煙者ではありません。40は、対照が喫煙者で、癌患者がそうでなかった場合の症例対照ペアの数です。次のRコードを使用して、このテーブルを生成し、マクネマーのテストを実行できます。
mat = as.table(rbind(c(1000, 40), c( 200, 60) ))
colnames(mat) <- rownames(mat) <- c("Nonsmoker", "Smoker")
names(dimnames(mat)) = c("Cancer", "Normal")
mat
# Normal
# Nonsmoker Smoker
# Cancer
# Nonsmoker 1000 40
# Smoker 200 60
mcnemar.test(mat)
# McNemar's Chi-squared test with continuity correction
#
#data: mat
#McNemar's chi-squared = 105.34, df = 1, p-value < 2.2e-16
マクネマーの検定は、バイナリの結果変数に対する介入の効果を評価するためにも使用されます。前と後の結果のペアを表にして、上記のようにテストします。
編集:喫煙状況がデータフレームmydfに次のようにリストされている場合の@gungによる拡張例:
pairID cancer control
1 1 1
2 1 1
3 1 0
...
McNemarsテストは、次のRコマンドで実行できます。
> tt = with(mydf, table(cancer, control))
> tt
control
cancer 0 1
0 5 1
1 3 2
> mcnemar.test(tt)
McNemar`s Chi-squared test with continuity correction
data: tt
McNemar`s chi-squared = 0.25, df = 1, p-value = 0.6171
フィッシャーの正確検定がデータにとって不適切であるというのはあなたの言うとおりです。分割表を再作成する必要があります。新しいテーブルはペア用であるため、半分の数のデータが表示されているように見えます(この場合、80ではなく40)。たとえば、データが次のようになっているとします(ペアになった被験者の各セットは独自の行にあり1
、喫煙者を示します)。
cancer control
1 1
1 1
1 0
1 0
1 0
0 1
0 0
0 0
0 0
0 0
0 0
次に、古い分割表は次のようになっていました。
cancer control
smoker 5 3
non 6 8
新しい分割表は次のようになります。
control
cancer smoker non
smoker 2 3
non 1 5
最初の分割表の合計は22(研究の被験者の総数)ですが、2番目の分割表の合計は11(一致したペアの数)です。
この方法でデータを表現した場合、関心があるのは、周辺比率が同じかどうかです。そのためのテストはマクネマーのテストです。私はこことここでマクネマーのテストを説明しました。
はいといいえ:
おそらくあなたのケースはPearce(2015)のケースに該当します。この記事の要点は、コントロールを選択するために使用する変数は、テストではなく研究で制御する必要があるということです。N = 80のため、それは難しいかもしれません。
この助けを願っています:)