首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用randomForestSRC在特定时间点生存的概率

使用randomForestSRC在特定时间点生存的概率
EN

Stack Overflow用户
提问于 2015-08-09 12:37:47
回答 1查看 3K关注 0票数 6

我使用rfsrc来模拟生存问题,如下所示:

代码语言:javascript
运行
复制
library(OIsurv)
library(survival)
library(randomForestSRC)

data(burn)
attach(burn)

library(randomForestSRC)

fit <- rfsrc(Surv(T1, D1) ~  ., data=burn)

# predict on the train set
pred <- predict(fit, burn, OOB=TRUE, type=response)
pred$predicted

这给了我所有病人的整体生存概率。

我如何获得每个人在不同时间点的生存概率,比如0-5个月或0-10个月?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-10 05:25:05

如果您不熟悉这个包,那么这方面的文档并不是显而易见的,但这是可能的。

负载数据

代码语言:javascript
运行
复制
data(pbc, package = "randomForestSRC")

创建试验和测试数据集

代码语言:javascript
运行
复制
pbc.trial <- pbc %>% filter(!is.na(treatment))
pbc.test <- pbc %>% filter(is.na(treatment))

建立我们的模型

代码语言:javascript
运行
复制
rfsrc_pbc <- rfsrc(Surv(days, status) ~ .,
                   data = pbc.trial,
                   na.action = "na.impute")

试验模型

代码语言:javascript
运行
复制
test.pred.rfsrc <- predict(rfsrc_pbc, 
                           pbc.test,
                           na.action="na.impute")

所有的好东西都在我们的预测对象之内。$survival对象是由n行(每个病人1行)和n列(每个time.interest 1行组成)组成的矩阵,尽管可以使用ntime参数对它们进行约束,但这些列都是自动选择的。我们的矩阵是106x122)

代码语言:javascript
运行
复制
test.pred.rfsrc$survival

$time.interest对象是不同"time.interests“的列表(122,与$surival中矩阵中的列数相同)

代码语言:javascript
运行
复制
test.pred.rfsrc$time.interest

假设我们希望看到我们在5年内的预测状况,我们会

当我们查看我们的$time.interest对象时,需要弄清楚哪个时间利息最接近1825天(因为我们的度量周期是天),我们可以看到第83行= 1827天或大约5年。$time.interest中的第83行对应于我们的$survival矩阵中的第83列。因此,要想看到5年生存的预测概率,我们只需看一下矩阵的第83列。

代码语言:javascript
运行
复制
test.pred.rfsrc$survival[,83]

然后,您可以对您感兴趣的任何时间点执行此操作。

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

https://stackoverflow.com/questions/31904303

复制
相关文章

相似问题

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