我在做生存分析.以下是我根据测试集和模型得出的风险分数:

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)

我try 了几个包在我的端,但他们的语法混淆了我.期待任何帮助.谢谢!

推荐答案

下面是一个使用nftbart package中的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

这种方法是否适用于您的实际数据?

R相关问答推荐

在不安装软件包的情况下测试更新

如何编辑gMarginal背景以匹配绘图背景?

如果可能,将数字列转换为整数,否则保留为数字

R函数,用于生成伪随机二进制序列,其中同一数字在一行中不出现超过两次

无法正确设置动态创建的Quarto标注的格式

迭代到DataFrame列并获得成对的值列表(col1->;col2、col2->;col3、col3->;col4等)的正确方法.

仅在Facet_WRAP()中的相应方面包含geom_abline()

以字符格式导入的ExcelElectron 表格日期列标题

如何使这些react 表对象相互独立?

R -如何分配夜间GPS数据(即跨越午夜的数据)相同的开始日期?

将工作目录子文件夹中的文件批量重命名为顺序

按组使用dummy r获取高于标准的行的平均值

如果满足条件,则替换列的前一个值和后续值

如何使用ggplot2根据绘图中生成的斜率对小平面进行排序?

使用列名和r中的前缀 Select 列的CREATE函数

识别部分重复行,其中一行为NA,其重复行为非NA

对计算变量所有唯一值的变量进行变异

reshape 数据帧-基于组将行转换为列

根据列和行的不同组合 Select 各种单元格

从不同长度的列中随机排序特定数量的元素