我正在研究血液标志物和基因之间的潜在相互作用。为此,我建立了一个带有两个二元预测变量和一个交互项的 cox 模型。
我想以图形方式显示(在森林图中)标记定义的两个亚组中基因型的影响。Markerlow 组中基因型的影响是基因型 ( ) 的总体影响及其与基因型 ( genegenotype2) 相互作用的总和markerlow:genegenotype2。
我想获得这种组合效应及其置信区间。
我的拟合模型给出的结果如下:
> model <- coxph(Surv(entry, exit, status) ~ marker * gene, data)
> print(summary(model)$coefficients, digits = 3)
coef exp(coef) se(coef) z Pr(>|z|)
markerlow 1.53539 4.643 0.308 4.9830 6.26e-07
genegenotype2 0.00249 1.002 0.194 0.0128 9.90e-01
markerlow:genegenotype2 -0.93767 0.392 0.490 -1.9152 5.55e-02
到目前为止,我已经为此使用了 R 包multcomp( glhtfunction) 和car( linearHypothesisfunction)。然而,结果令我惊讶:
> summary(glht(model, linfct = "genegenotype2 + markerlow:genegenotype2 = 0"))
Simultaneous Tests for General Linear Hypotheses
Fit: coxph(formula = Surv(entry, exit, status) ~ marker * gene, data = altdat)
Linear Hypotheses:
Estimate Std. Error z value Pr(>|z|)
genegenotype2 + markerlow:genegenotype2 == 0 -0.9352 0.4496 -2.08 0.0375 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)
虽然组合效应大小似乎只是单个效应大小的总和,但标准误差低于将单个参数组合得到的标准误差(0.526,通过取其平方和的平方根),并且相应地,z 值更极端,P 值更低。
怎么会这样?