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

如何合并代码提取回归模型中bmi变量的系数与置信区间并保存为CSV

批量线性回归提取BMI系数及置信区间并保存CSV

需求说明

批量执行线性回归后,需要同时提取每个回归模型中bmi变量的系数(含统计量:估计值、标准误、t值、P值)与置信区间,并将最终结果合并后保存为CSV文件。

现有代码

回归循环代码

respvars <- names(QBB_clean[1653:2592]) 
predvars <- c("bmi","Age", "sex","lpa2c", "smoking", "CholesterolTotal")
results <- list()
for (v in respvars) { 
  form <- reformulate(predvars, response = v)
  results[[v]] <- lm(form, data = QBB_clean)
} 

两段单独提取代码

提取BMI系数统计量:

t(sapply(results, function(m) coef(summary(m))["bmi",]))

提取BMI置信区间:

t(sapply(results, function(m) confint(m)["bmi",]))

合并解决方案

可以通过一次遍历同时提取所需的所有信息,避免重复循环,整理成数据框后直接保存为CSV:

# 同时提取BMI的系数统计量和95%置信区间
bmi_results <- t(sapply(results, function(m) {
  # 提取系数的统计量(估计值、标准误、t值、P值)
  coef_stats <- coef(summary(m))["bmi",]
  # 提取置信区间
  ci_values <- confint(m)["bmi",]
  # 合并两类结果
  c(coef_stats, ci_values)
}))

# 转换为数据框,优化列名
bmi_results_df <- as.data.frame(bmi_results)
colnames(bmi_results_df)[5:6] <- c("CI_2.5%", "CI_97.5%")

# 保存为CSV文件,行名保留因变量名称
write.csv(bmi_results_df, file = "bmi_regression_summary.csv", row.names = TRUE)

结果说明

最终生成的CSV包含以下列:

  • Estimate:BMI变量的系数估计值
  • Std. Error:系数的标准误
  • t value:t检验统计量
  • Pr(>|t|):P值
  • CI_2.5%:95%置信区间下限
  • CI_97.5%:95%置信区间上限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 20:40:26