gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 02:40:21 25 4
gpt4 key购买 nike

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

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 个月)的生存概率?

最佳答案

如果您不熟悉该软件包,有关此内容的文档并不是立即显而易见的,但这是可能的。

加载数据

data(pbc, package = "randomForestSRC")

创建试用和测试数据集

pbc.trial <- pbc %>% filter(!is.na(treatment))
pbc.test <- pbc %>% filter(is.na(treatment))

构建我们的模型

rfsrc_pbc <- rfsrc(Surv(days, status) ~ .,
data = pbc.trial,
na.action = "na.impute")

测试模型

test.pred.rfsrc <- predict(rfsrc_pbc, 
pbc.test,
na.action="na.impute")

所有好东西都包含在我们的预测对象中。 $survival 对象是一个由 n 行(每个患者 1 行)和 n 列(每个 time.interest 一个)组成的矩阵 - 这些是自动选择的,尽管您可以使用ntime 参数。我们的矩阵是 106x122)

test.pred.rfsrc$survival

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

test.pred.rfsrc$time.interest

假设我们希望看到 5 年后的预测状态,我们会
需要找出哪个时间利息最接近 1825 天(因为我们测量周期为天)当我们查看 $time.interest 对象时,我们看到第 83 行 = 1827 天或大约 5 年。 $time.interest 中的第 83 行对应于 $survival 矩阵中的第 83 列。因此,要了解 5 年生存的预测概率,我们只需查看矩阵的第 83 列即可。

test.pred.rfsrc$survival[,83]

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

关于r - 使用 randomForestSRC 在特定时间点的生存概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31904303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com