使用rms::validate计算的判别度量的Bootstrap百分位置信区间

使用rms::validate计算的判别度量的Bootstrap百分位置信区间,r,R,我使用包rms来拟合评估模型,同时放松Cox模型预测中的线性假设。之后,我使用validate计算判别度量(c统计、Somers'D等)。我想为c或D生成置信区间,因此我在validate函数周围创建了一个引导。然而,我的置信区间不包括我评估的几个模型中的任何一个的点估计,我也不知道为什么。我不认为我做这件事有什么问题 我的代码如下所示 mods <- c("m1", "m2",...) B <- 250 # apply validate f

我使用包
rms
来拟合评估模型,同时放松Cox模型预测中的线性假设。之后,我使用
validate
计算判别度量(c统计、Somers'D等)。我想为c或D生成置信区间,因此我在
validate
函数周围创建了一个引导。然而,我的置信区间不包括我评估的几个模型中的任何一个的点估计,我也不知道为什么。我不认为我做这件事有什么问题

我的代码如下所示

mods <- c("m1", "m2",...)
B <- 250

# apply validate function to all models
val.list <- list()
for(i in 1:length(mods)){
  val.list[[i]] <- validate(get(mods[[i]]), B = B)
}

# repeat validate function to each model for 500 bootstrap samples
reps <- 500
listin <- list(); listout <- list()
n <- nrow(data)
for(x in 1:length(mods)){
  for(y in 1:reps){
    g <- update(get(mods[[x]]), subset = sample(1:n, n, replace = TRUE))
    listin[[y]] <- validate(g, B = B, bw = FALSE)
  }
  listout[[x]] <- as.data.frame(do.call("rbind", listin))
  listin <- list()
}
mods