我正在做生存分析。以下是我根据测试集和模型得到的风险评分:
risk_scores <- c(0.4995992, 0.5475576, 0.4896132, 0.5176351, 0.5111408, 0.5035943, 0.4995992, 0.4995992, 0.4935940, 0.4879983, 0.5176351, 0.4966655, 0.4995992, 0.4995920, 0.4896132, 0.5779451)
那么如何直接根据R中的风险评分计算c指数?
以下是我的状态和时间变量:
status <- c(1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
time <- c(455, 210, 1022, 310, 361, 218, 166, 170, 567, 613, 707, 61, 301, 81, 371, 520)
我尝试了几个软件包,但它们的语法让我感到困惑。期待任何帮助。谢谢!
这是一种使用
nftbart 包中的
Cindex()
的潜在解决方案:
# install.packages("nftbart")
library(nftbart)
#> Loading required package: survival
#> Loading required package: nnet
risk_scores <- c(0.4995992, 0.5475576, 0.4896132, 0.5176351, 0.5111408, 0.5035943, 0.4995992, 0.4995992, 0.4935940, 0.4879983, 0.5176351, 0.4966655, 0.4995992, 0.4995920, 0.4896132, 0.5779451)
status <- c(1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
time <- c(455, 210, 1022, 310, 361, 218, 166, 170, 567, 613, 707, 61, 301, 81, 371, 520)
Cindex(risk_scores, time, status)
#> [1] 0.4833333
创建于 2024-03-27,使用 reprex v2.1.0
这个方法适用于你的实际数据吗?