首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取每个个体的Kaplan-Meier生存风险

获取每个个体的Kaplan-Meier生存风险
EN

Stack Overflow用户
提问于 2013-12-19 03:43:47
回答 1查看 1.4K关注 0票数 2

问题

考虑到有timestatus变量的n个病人记录(包括其他变量),我希望在他们在2,4,6,8,10年的时间内获得他们的生存风险。

我有24至47个月(2年)、48-83个月(4年)、84-107个月(6年)、108-119个月(8年)和120个“最多可得”月(10年)。

从个人角度来看,一个病人的生存月为30个月,将包括在两年期内,以及其他的预测变量,我想知道这个病人的生存风险在两年内。

我的方法

我正在使用R code described in this thread检索我的数据的生存风险百分比。

代码语言:javascript
复制
km <- survfit(Surv(time, status)~1, data=mydata)
survest <- stepfun(km$time, c(1, km$surv))

time变量是生存月份,status的值分别为生存和死亡的10

代码输出如下(摘自here):

代码语言:javascript
复制
> survest(0:100)
 [1] 1.0000000 0.9854015 0.9781022 0.9708029 0.9635036 0.9635036 0.9635036
 [8] 0.9416058 0.9124088 0.9124088 0.8978102 0.8905109 0.8759124 0.8613139
 [15] 0.8613139 0.8467153 0.8394161 0.8394161 0.8175182 0.8029197 0.7883212
 [22] 0.7737226 0.7664234 0.7664234 0.7518248 0.7299270 0.7299270 0.7225540
 [29] 0.7225540 0.7151810 0.7004350 0.6856890 0.6856890 0.6783160 0.6783160

我的问题是:这是我需要使用survest(0:300000)的300,000个个人记录的实际生存估计数吗?我尝试了survest(0:1000),但是结果已经收敛到一些值,这并不能回答我的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-19 11:26:33

正如我在评论中提到的,我认为不可能对个别患者进行KM估计。KM-估计给出了种群水平上某一时间点的观察生存概率.然而,个体观察到的存活概率要么是0(死亡),要么是1(活着),两者之间没有关系。

你必须使用某种模型(如Cox PH、加速失效时间模型、神经网络等),而不是观察到的生存概率。才能得到预测的生存概率。这些概率告诉你一个人在某个特定的时间点上存在的风险。

更新:使用基于OP提供的here代码的示例代码

代码语言:javascript
复制
library(pec) ; library(rms)

# Simulate data
set.seed(1)
examp.data <- SimSurv(3000)

# fit a Cox model with predictors X1+X2
coxmodel <- cph(Surv(time,status)~X1+X2, data=examp.data, surv=TRUE) 

# predicted survival probabilities can be extracted at selected time-points:
ttt <- quantile(examp.data$time)
ttt
#          0%          25%          50%          75%         100% 
#6.959458e-03 9.505409e+00 3.077284e+01 7.384565e+01 7.100556e+02 

# Get predicted survival probabilities at selected time-points:
preds <- predictSurvProb(coxmodel, newdata=examp.data, times=ttt)

# Store in original data
examp.data$predict.surv.prob.Q1 <- preds[,1] # pred. surv. prob. at  0.006959458
examp.data$predict.surv.prob.Q2 <- preds[,2] # pred. surv. prob. at  9.505409
examp.data$predict.surv.prob.Q3 <- preds[,3] # pred. surv. prob. at  30.77284
examp.data$predict.surv.prob.Q4 <- preds[,4] # pred. surv. prob. at  73.84565
examp.data$predict.surv.prob.Q5 <- preds[,5] # pred. surv. prob. at  710.0556

现在,您已经对数据中的每一个人在这5个时间点的生存概率进行了预测。当然,您确实需要根据判别(例如,package中的函数cindex )和校准(带有校准图,参见rms-package)来评估模型的预测性能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20673078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档