【问题标题】:Interpretaton of Chi-square test results卡方检验结果的解释
【发布时间】:2021-02-16 08:40:35
【问题描述】:

我正在探索我的实验结果(在 R 中),结果可以以 5x4 列联表的形式呈现。我已经运行了独立性卡方检验,它给出的 p.value 远低于 0.05,这意味着治疗和结果之间存在关系。

x = structure(c(17479L, 256L, 1332L, 66L, 1919L, 4242L, 87L, 394L, 
            26L, 761L, 6359L, 40L, 349L, 22L, 823L, 5666L, 75L, 325L, 39L, 
            809L),
          .Dim = 5:4,
          .Dimnames = list(c("G1.G0", "early.S", "S","late.S.G2", "G2.M"),
                           row.names = c("Control", "Treatment1", "Treatment2", "Treatment3")),
          class = "table")
ch.t = chisq.test(x)
ch.t
ch.t$residuals

输出

Pearson's Chi-squared test
data:  x
X-squared = 236.55, df = 12, p-value < 2.2e-16

               row.names
               Control Treatment1 Treatment2 Treatment3
  G1.G0      1.3744793 -4.2432348  1.5180210 -0.2012234
  early.S    1.3854929  3.2597551 -4.8551234 -0.2396874
  S          2.9011770  4.0127320 -4.4966957 -3.9322811
  late.S.G2 -1.4033400  1.2079478 -1.1821301  2.6092210
  G2.M      -6.1967331  7.5868936  0.9130591  3.0832144

我坚持“成对”比较。例如,与对照相比,我如何说治疗 1 对结果“S”是否具有统计学意义的影响?我应该对每对治疗进行 chi-test 还是有办法从这个单一的测试中“提取”答案?

【问题讨论】:

  • chisq.test 函数提供了两个变量之间一般关系的全局测试/拟合优度度量。它不提供专门的成对测试来测试某些组之间的显着差异。
  • 根据您的数据类型(例如计数或比例或均值...)存在不同的成对检验并且更合适。
  • @deschen,我的数据是计数(当然可以按比例转换)。您能否为成对比较提出一个更好的选择?

标签: r chi-squared


【解决方案1】:

使用chisq.posthoc.testinstall.packages("chisq.posthoc.test"),您可以基于 T. Mark Beasley 和 Randall E. Schumacker (1995) 的计数数据的 Pearson 卡方检验残差执行事后分析.

解释:G1.G0与Control、Treatment1、Treatment2之间存在显着相关性,但与Treatment3无关。

Dimension        Control    Treatment1 Treatment2 Treatment3
G1.G0   p-Value  0.000063   0.000000   0.001368   1.0000000

也就是说Control、Treatment1、Treatment2都对G1.G0有显着影响。但是Treatment3对G1.G0没有显着影响。

x = structure(c(17479L, 256L, 1332L, 66L, 1919L, 4242L, 87L, 394L, 
                26L, 761L, 6359L, 40L, 349L, 22L, 823L, 5666L, 75L, 325L, 39L, 
                809L),
              .Dim = 5:4,
              .Dimnames = list(c("G1.G0", "early.S", "S","late.S.G2", "G2.M"),
                               row.names = c("Control", "Treatment1", "Treatment2", "Treatment3")),
              class = "table")
ch.t = chisq.test(x)
ch.t
ch.t$residuals

library(chisq.posthoc.test)

chisq.posthoc.test(x)

   Dimension     Value   Control Treatment1 Treatment2 Treatment3
1      G1.G0 Residuals  4.662387 -10.799208   3.981811 -0.5225417
2      G1.G0  p values  0.000063   0.000000   0.001368  1.0000000
3    early.S Residuals  1.995708   3.522918  -5.407864 -0.2643080
4    early.S  p values  0.919313   0.008536   0.000001  1.0000000
5          S Residuals  4.282599   4.444246  -5.132860 -4.4437546
6          S  p values  0.000369   0.000176   0.000006  0.0001770
7  late.S.G2 Residuals -2.013868   1.300592  -1.311795  2.8664955
8  late.S.G2  p values  0.880468   1.000000   1.000000  0.0830090
9       G2.M Residuals -9.382259   8.618532   1.068996  3.5737213
10      G2.M  p values  0.000000   0.000000   1.000000  0.0070390

【讨论】:

  • 感谢您的建议,但是,它似乎并没有解决我的问题。正如原始问题中提到的,我对与对照进行比较时的治疗效果感兴趣。虽然提供的解释可能从纯粹的数学角度有意义,但生物学意义并不那么清楚。控制代表一种“自然状态”,因此我对成对比较感兴趣。例如,G1.G0 在 Control 与 Treatment2 中是否显着更高?是否可以从 chisq 或 chisq.posthoc 测试中提取此信息?
猜你喜欢
  • 2021-08-04
  • 2018-02-14
  • 2017-05-07
  • 1970-01-01
  • 2017-08-17
  • 2023-02-01
  • 1970-01-01
  • 2017-06-13
  • 2017-12-08
相关资源
最近更新 更多