Fisher对配对数据的精确测试


9

假设有例肺癌患者和匹配的对照组(无肺癌)(根据年龄,性别等进行匹配)。为了找到吸烟对肺癌的影响之间的证据,我在列联表上使用了Fisher的精确检验。但是,这没有考虑到控制和案例是匹配的。 4040

所以我想知道是否有一种方法可以使用费舍尔的精确测试来考虑两组之间的匹配?

Answers:


8

您需要McNemar检验(http://en.wikipedia.org/wiki/McNemar%27s_testhttp://www.ncbi.nlm.nih.gov/pmc/articles/PMC3346204/)。以下是一个示例:

研究了1300分和1300个匹配的控件。吸烟状况如下表:

             Normal   
           |no  |yes|
Cancer|No  |1000|40 |
      |Yes |200 |60 |

该表的每个条目均显示有关病例对照对的信息:在1000个病例对照对中有1000表示,均不是吸烟者。病例对照对的数量为40,其中对照是吸烟者,而癌症患者不是,等等。可以使用以下R代码生成此表并进行McNemar测试。

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

McNemar的检验还用于评估干预对二元结果变量的影响。如上所述对一对前后结果进行测试。

编辑:扩展@gung给出的示例,如果吸烟状态在数据框mydf中列出,如下所示:

pairID  cancer  control
1       1       1
2       1       1
3       1       0
...

可以使用以下R命令完成McNemars测试:

> 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

您对每种情况下的多个控件使用哪种测试,例如每个案例10个控件?
eXpander 2015年

这将值得一个单独的问题和讨论。我认为可以将每种情况与其控制手段配对,然后可以使用McNemar的检验。
rnso 2015年

5

您认为Fisher的精确测试不适合您的数据是正确的。您将不得不重新形成您的列联表。新表将用于pairs,因此它将显示一半的数据(在您的情况下为40而不是80)。例如,假设您的数据看起来像这样(每对配对的主题在其自己的行中,并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(您的研究中的总科目数),但是第二个列联表总计11(匹配的对数)。

以这种方式表示数据时,您感兴趣的是边际比例是否相同。那个测试就是麦克尼马尔的测试。我已经在这里这里解释了麦克尼马尔的测验。


1
请注意,针对二分数据的McNemar测试等同于符号测试。因此,OP可以使用符号测试(必要时使用置换或蒙特卡洛重要性测试)。
ttnphns

1
@ttnphns,我将在链接的线程中进行讨论,在此我将详细解释McNemar的测试。
gung-恢复莫妮卡

1

不必使用配对测试。人口的匹配确定了两个平民中科瓦莱人(年龄,...)的分布相同,因此不会“扭曲”画面。

该测试比较了总体均值,因此不需要配对个体。仅对于“重复”测量(例如比较相同人群治疗前后的压力)才需要这样做。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.