科研星球

R语言统计与绘图:生存分析中输出研究人群在指定时间的存活概率

前段时间有个读者问我一个问题,怎么输出生存分析中研究人群在某个时间点的存活概率。

下面我们来看看怎么输出。

首先生存分析可以使用survival包,使用包里的colon数据集演示

library(survival) # 加载包
data(colon) # 加载数据集
View(colon) # 查看数据集

下载.jpeg

# 拟合生存模型
fit <- survfit(Surv(time, status) ~ sex, data = colon) 
summary(fit) # 输出信息

下载 (1).jpeg

如上图所示结果,我们输出了不同性别在不同时间点时的生存概率。

结果解读:

第一列为随访的生存时间;
第二列为有感兴趣结局发生风险的研究人群;
第三列为发生感兴趣结局的病例数;
第四列为生存概率或存活概率;
后面几列为误差和置信区间。

上面输出的时间点是函数默认生成的,那么怎么输出指定时间点的生存概率了?比如说30天,60天,180天,365天时。

解决方法也很简单,直接在summary()函数中指定时间即可,代码如下:

summary(fit, time = c(30,60,180,365))

下载 (2).jpeg

如上图所示,我们就可以得出30,60,180天时的生存概率、误差及置信区间。

上面的sex变量也可以写成1,这样计算的是总人群的生存概率。

# 拟合模型
fit <- survfit(Surv(time, status) ~ 1, data = colon) 
summary(fit, time = c(30,60,180,365)) # 输出信息

下载 (3).jpeg

参考资料

  1. summary.survfit()函数帮助文件


没有账号?