通过Cox回归对特定群体进行Logrank检验
我有一个生存数据集。我想对一种治疗进行logrank测试,分为4类。我不能使用通过Cox回归对特定群体进行Logrank检验,r,survival-analysis,cox-regression,R,Survival Analysis,Cox Regression,我有一个生存数据集。我想对一种治疗进行logrank测试,分为4类。我不能使用survdiff()命令,因为这些统计数据的渐近分布是卡方分布,我需要正态性(我将在后面的多重插补设置和池中进行此操作)。相反,我想运行Cox回归,然后运行分数测试,这将是正态分布的 所以,我想做的是把我的4个分类,然后把它们分成几个组,分别进行比较。比如说 治疗2与治疗3:是否可以在不分解数据的情况下实现这一点?假设我们有来自包KMsurv的burn数据集 library(KMsurv) > summary(
survdiff()
命令,因为这些统计数据的渐近分布是卡方分布,我需要正态性(我将在后面的多重插补设置和池中进行此操作)。相反,我想运行Cox回归,然后运行分数测试,这将是正态分布的
所以,我想做的是把我的4个分类,然后把它们分成几个组,分别进行比较。比如说
治疗2与治疗3:是否可以在不分解数据的情况下实现这一点?假设我们有来自包KMsurv的burn数据集
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对3对4的logrank测试,但我只想要2对3。
我知道我可以在这个命令之前运行它
subsetted=subset(burn,Z11==2|Z11==3)
summary(coxph(Surv(T1,D1)~factor(Z11),data=subsetted))
但是,当我们不得不比较1,2和4时,这将变得乏味且难以调试
那么,是否有任何方法可以在coxph命令中选择要比较的组,或者是选择组的唯一方法来预先设置它们?使用
coxph
函数中的subset
参数。参见?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))
mylevels我想这几乎回答了这个问题。如果我想比较第1组与第2组和第3组,我会怎么做?MyLevel比较第1组和第2组与第3组的正确方法是对比。我建议在LR测试可用时使用分数统计是错误的方法。事实上,有“正常理论”策略来处理这一问题并不是使用劣等统计测试的令人信服的理由。没有正常性,我无法汇集我的结果(据我所知,我目前正在通过鲁宾规则汇集)。所以我觉得这是一种互让。我们在测试中失去了一些最佳性,但我们获得了将结果汇集到许多插补数据集的能力。您知道使LR测试正态分布的转换吗?我知道它是卡方,但平方根将是卡方分布的,而不是正态分布。正如我所读到的,这些运算是对单个估计值及其标准误差进行的,而不是用全局拟合度量。生存分析的参数估计被假定为正态分布。