【发布时间】:2017-11-12 21:24:56
【问题描述】:
我创建了一个函数,该函数将 Cox 回归模型应用于测试数据,基于协变量创建生存函数,然后预测每个测试观察的当前时间 30 天后的生存概率。
下面的示例使用了肺数据集并且效果很好。但是,应用于我自己的数据处理时间很繁琐。对于 n = 60000,我只是在一小时后停止了它,因为它不适合我打算使用该程序的目的。
看看代码结构,有没有明显的方法可以加快速度?
require(dplyr, survival, pec)
cox_model <- coxph(Surv(time, status) ~ sex, data = lung)
surv_preds <- function(model, query) {
prediction <- vector(mode = "numeric", length = nrow(query))
time <- 30
for(i in 1:nrow(query)) {
prediction[i] <- predictSurvProb(model, newdata = query[i, ], times = query[i, "time"] + time)
}
prediction
}
surv_preds(cox_model, lung)
【问题讨论】:
-
您还应该将您的帖子标记为
[r]。 -
完成。谢谢。
-
您从哪里获得
lung数据? -
生存包
标签: r performance for-loop