【问题标题】:External validation of a Cox model using rcorr.cens() and val.surv使用 rcorr.cens() 和 val.surv 对 Cox 模型进行外部验证
【发布时间】:2015-04-06 14:48:57
【问题描述】:

我有两个独立的数据集,一个包含 5421 个主题,另一个包含 1000 个主题。我想做的是使用外部数据集(test_dat,n=1000)验证从主数据集(main_dat,n=5421)获得的 Cox 模型。但是,我同时使用 Hmisc 包中的 rcorr.cens() 和 rms 中的 val.surv 收到错误消息。这是我一直在做的事情:

library(rms)
surv.obj=with(main_dat,Surv(survival,surv_cens))  ## to use with rcorr.cens
phmodel=cph(surv.obj~sex+age+treatment, x=TRUE, y=TRUE, surv=T, time.inc=10, data=main_dat, se.fit=T)

estimates=survest(phmodel, newdata=test_dat, times=10)

rcorr.cens(x=estimates, S=surv.obj)

rcorr.cens 中的错误(x = 估计,S = surv.obj): y 必须与 x 长度相同

w=val.surv(phmodel ,newdata=test_dat, u=10)

val.surv 中的错误(phmodel,newdata = test_dat,u = 10): 暗淡 [产品 1000] 与对象的长度不匹配 [5421] 另外:警告信息: 在 est.surv + S[, 1] 中: 较长的对象长度不是较短对象长度的倍数

我做错了什么还是两个数据集必须有相同数量的观察?

任何帮助将不胜感激。

【问题讨论】:

    标签: r validation cross-validation cox-regression


    【解决方案1】:

    我没有看到 test_dat 在哪里定义了 surv.obj。您要么需要将其添加到 test_dat,要么有一个在调用中使用的独立对象 surv.obj

    请注意,您的样本量不足以进行拆分样本验证,即,如果您多次重新拆分样本,您会在结果中出现分歧。严格的引导内部验证(使用rmsvalidatecalibrate 函数)通常更精确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-24
      • 1970-01-01
      • 2019-08-15
      • 2012-03-02
      相关资源
      最近更新 更多