我有一个生存数据集。我想进行一项治疗的logrank测试,分为4类。我不能使用| Id | Numero | FechaRegistro |P1(00:02:00)|P2(00:24:00)| Cierre |
|----|--------|-----------------------------|------------|------------|-----------------------------|
| 1 | 111 | September, 29 2015 13:25:00 | 00:05:00 | 00:20:00 | September, 29 2015 13:54:00 |
| 2 | 222 | September, 29 2015 13:25:00 | 00:25:00 | (null) | September, 29 2015 14:14:00 |
命令,因为这些统计数据的渐近分布是卡方,我需要正常性(我在多重插补设置中执行此操作并稍后汇集)。相反,我想运行Cox回归,然后运行分数测试,这将是正常分布的。
所以,我想做的是采取我的4个类别,然后将它们分成几个组来单独比较它们。例如
治疗2与治疗3:在不破坏数据的情况下是否可以做到这一点?假设我们有来自包KMsurv
的刻录数据集survdiff()
这输出logrank测试1 vs 2 vs 3 vs 4,但我只想要2 vs 3。 我知道我可以通过在此命令之前运行来获得它
library(KMsurv)
> summary(coxph(Surv(T1,D1)~factor(Z11),data=burn))
Call:
coxph(formula = Surv(T1, D1) ~ factor(Z11), data = burn)
n= 154, number of events= 99
coef exp(coef) se(coef) z Pr(>|z|)
factor(Z11)2 -0.9820 0.3745 0.4956 -1.982 0.0475 *
factor(Z11)3 -1.6872 0.1850 0.8029 -2.101 0.0356 *
factor(Z11)4 -0.4070 0.6656 0.3957 -1.029 0.3037
...
Likelihood ratio test= 9.17 on 3 df, p=0.0271
Wald test = 7.38 on 3 df, p=0.06083
Score (logrank) test = 8 on 3 df, p=0.04602
但是当我们不得不做比较1,2和4
之类的事情时,这将变得乏味且难以调试那么,有没有办法在coxph命令中选择要比较的组,或者是选择组之前预先设置它们的唯一方法呢?
答案 0 :(得分:2)
使用subset
函数中的coxph
参数。见?coxph
但您还需要从burn$Z11
所以你可以做到
summary(coxph(Surv(T1,D1)~factor(Z11,levels=c('2','3')),data=burn, subset=Z11 %in% c('2','3')))
或者像
一样方便mylevels <- c('2','3') #specify factor levels for subset
summary(coxph(Surv(T1,D1)~factor(Z11,levels=mylevels),data=burn, subset=Z11 %in% mylevels))
也看到这个线程做一个包装器,其中子集被定义为包装函数中的参数:
https://stat.ethz.ch/pipermail/r-help/2007-November/145345.html