You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助计算中介分析中效应指标的Bootstrap 95%置信区间

加权Cox中介分析指标的Bootstrap 95%置信区间计算方法

要计算总效应(TE)、直接效应(DE)、间接效应(IE)及中介比例(PM)的Bootstrap 95%置信区间,可按以下步骤实现:

1. 加载所需R包

先确保安装并加载拟合模型和抽样所需的包:

# 安装包(若未安装)
install.packages(c("survival", "boot", "rms"))

# 加载包
library(survival)
library(boot)
library(rms)

2. 定义Bootstrap统计量函数

编写自定义函数,用于每次抽样后拟合模型并计算目标指标:

boot_cox_mediation <- function(data, indices) {
  # 获取Bootstrap抽样样本
  boot_data <- data[indices, ]
  
  # 拟合加权Cox模型
  fit <- coxph(Surv(time, event) ~ const(factor(exp)) + const(factor(expstar)) + covariates,
               data = boot_data, weights = boot_data$weightM)
  
  # 提取系数并计算各效应指标
  coefs <- coef(fit)
  te <- exp(sum(coefs[c('const(factor(exp))1', 'const(factor(expstar))1')]))
  de <- exp(unname(coefs['const(factor(exp))1']))
  ie <- exp(coefs['const(factor(expstar))1'])
  pm <- log(ie)/log(te)
  
  # 返回四个指标结果
  return(c(TE = te, DE = de, IE = ie, PM = pm))
}

3. 执行Bootstrap抽样

设置随机种子保证结果可重复,执行抽样(建议至少1000次):

set.seed(123)
boot_results <- boot(data = newmyd, statistic = boot_cox_mediation, R = 1000)

4. 计算95%置信区间

用百分位数法提取各指标的置信区间:

# 提取每个指标的置信区间
boot_ci <- lapply(1:4, function(i) {
  boot.ci(boot_results, type = "perc", index = i)
})

# 命名并输出结果
names(boot_ci) <- c("TE", "DE", "IE", "PM")
print(boot_ci)

注意事项

  • 若抽样过程中出现模型收敛问题,可适当增加抽样次数,或检查原始数据的变量分布与样本量。
  • const()函数来自rms包,必须加载该包才能正常拟合模型。

内容的提问来源于stack exchange,提问作者Chris7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 17:24:48