删失生存数据的一致性指数(c-index)返回NA

时间:2014-12-09 17:18:50

标签: r survival-analysis

我正在使用R包' survcomp'计算预测存活率与已知测试集存活率的c指数。但结果是它返回了NA。数据如下:

测试集已知存活率:

     OS.Time    OS.event
1   1686    0
2    517    0
3    7    0
4    1965    0
5    5748    0
6    495    0
7    10    0
8    365    1
9    1733    0

预测存活率(可能不是一个好的估计,但不应该影响c指数计算):

0.11946905 0.27748710 0.88212024 0.19557143 0.09421667 0.27926806 1.53901710 1.03344646 0.73955159

用于计算c-index的R代码是:concordance.index(pred, test_surv$OS.Time, test_surv$OS.event, method="noether")$c.index。如上所述,NA返回。

这是因为测试集中只有一个事件吗?但我检查了c-index计算formular。似乎只有当分母为0时,c指数可以是NA,但不是上面的情况。

1 个答案:

答案 0 :(得分:0)

如果您查看代码,您会看到这是预期的行为:

if (sum(cc.ix) < 3) {
    if (msurv) {
        data <- list(x = x, surv.time = surv.time, surv.event = surv.event)
    }
    else {
        data <- list(x = x, cl = cl)
    }
    return(list(c.index = NA, se = NA, lower = NA, upper = NA, 
        p.value = NA, n = sum(cc.ix), data = data, comppairs = NA))

当事件数量为2或更少时,作者显然打算为几乎所有事情返回NA。 (构建复制这一结论的实验并不困难。)