我有以下生存数据

library(survival)
data(pbc)

#model to be plotted and analyzed, convert time to years
fit <- survfit(Surv(time/365.25, status) ~ edema, data = pbc)

#visualize overall survival Kaplan-Meier curve
plot(fit)

这就是所得的Kaplan-Meier图的样子

r - 比较特定时间点的生存-LMLPHP

我以这种方式进一步计算1年,2年,3年的生存率:
>     summary(fit,times=c(1,2,3))

Call: survfit(formula = Surv(time/365.25, status) ~ edema, data = pbc)

232 observations deleted due to missingness
                edema=0
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    1    126      12    0.913  0.0240        0.867        0.961
    2    112      12    0.825  0.0325        0.764        0.891
    3     80      26    0.627  0.0420        0.550        0.714

                edema=0.5
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    1     22       7    0.759  0.0795        0.618        0.932
    2     17       5    0.586  0.0915        0.432        0.796
    3     11       4    0.448  0.0923        0.299        0.671

                edema=1
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
    1      8      11    0.421  0.1133       0.2485        0.713
    2      5       3    0.263  0.1010       0.1240        0.558
    3      3       2    0.158  0.0837       0.0559        0.446

如您所见,结果输出显示了edema不同级别之间的95%置信区间,但没有实际的p值。不管置信区间是否重叠,我仍然对这些时间点的生存率是否存在显着差异还是很清楚的,但是我希望有确切的p值。我怎样才能做到这一点?

最佳答案

您的问题是“不同类别的水肿的x年生存率是否不同”。

例如,如果您对3年生存率感兴趣;您只需关注曲线的那部分(随访的前三年),如图所示。将3年后仍存活的患者的随访时间设置为3年(即此分析中的最长随访时间):pbc$time[pbc$time > 3*365.25] <- 3*365.25

使用数据包“survival”(分析中已经使用的相同软件包)中的coxph计算此日志的对数秩检验,将为您提供P值,该值表明三组的三年生存率是否不同(在此示例中非常重要)。您也可以使用相同的模型来生成P值和危险比,以将水肿与特定原因的生存联系起来。

r - 比较特定时间点的生存-LMLPHP

关于r - 比较特定时间点的生存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37714902/

10-12 19:01