我想对两个大小不等的群体之间的生存差异进行一系列测试。
通常,对数秩(使用 R survdiff 函数)或带有分层患者变量的 cox 回归(R coxph)都可以很好地工作。然而,在某些情况下,一组人数较少,事件发生率相对较低,这使得预期的事件数量非常少。在这些情况下,使用对数秩检验生成的 p 值似乎不明智,因为这是基于卡方检验,这不适用于少量预期事件(令人惊讶的是,R 没有给出警告信息)。举一个公认的相当极端的例子来说明:
survdiff(formula = survobject ~ (Fixation == i), data = TKRGroup)
n=637763, 424 observations deleted due to missingness.
N Observed Expected (O-E)^2/E (O-E)^2/V
Fixation == i=FALSE 637725 11174 1.12e+04 5.52e-04 11.9
Fixation == i=TRUE 38 3 5.17e-01 1.19e+01 11.9
Chisq= 11.9 on 1 degrees of freedom, p= 0.000555
Cox 回归给出了更高的 p 值 0.0023,尽管对于观察到的和预期的事件的这些值,它看起来仍然偏低。
coxph(formula = survobject ~ (Fixation == i), data = TKRGroup)
coef exp(coef) se(coef) z p
Fixation == iTRUE 1.76 5.8 0.577 3.05 0.0023
进一步的摘要信息给出
Likelihood ratio test= 5.58 on 1 df, p=0.01813
Wald test = 9.27 on 1 df, p=0.002325
Score (logrank) test = 11.92 on 1 df, p=0.0005543
在这一点上,我可以参考一些专家建议,如果有的话,使用这些 p 值,或者是否有一些替代方法可用(最好在 R 包中提供!)鉴于组的大小,我相当天真地试图通过对观察到的和预期的数字应用泊松精确检验来了解合理的 p 值;观察值/预期值 3 / 0.517 将给出累积泊松 P(X ≥ 3) = 0.0157。这似乎是一个更合理的数字,尽管我不确定我能否为它辩护。