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

如何将R语言全组合线性回归循环结果输出为汇总表格?

生成多元线性回归模型汇总表格

你已经通过代码生成了所有自变量组合的线性回归模型,要将模型的截距、斜率、R²、调整R²、模型p值、AIC等指标整理为表格,最便捷的方式是使用broom包——它专门用于将统计模型的输出转换为整洁的数据框格式。

步骤1:安装并加载依赖包

如果还未安装相关包,先执行以下命令:

install.packages(c("broom", "dplyr", "tidyr"))
library(broom)
library(dplyr)
library(tidyr)

步骤2:提取模型信息并整理为表格

方式1:分开展示系数与模型指标

先分别提取每个模型的系数细节(截距、斜率、系数p值)和模型整体指标,再合并为完整表格:

# 提取系数信息(每个系数对应一行)
model_coefficients <- lapply(models, function(model) {
  tidy(model) %>% 
    mutate(model_formula = as.character(formula(model)))
}) %>% bind_rows()

# 提取模型整体指标(每个模型对应一行)
model_overview <- lapply(models, function(model) {
  glance(model) %>% 
    mutate(model_formula = as.character(formula(model)))
}) %>% bind_rows()

# 合并两部分数据,得到完整汇总表
full_summary_table <- left_join(model_coefficients, model_overview, by = "model_formula")

方式2:每个模型一行,系数列展开

如果希望每个模型占一行,将截距、各斜率作为单独列展示,可用pivot_wider转换格式:

# 将系数转为宽格式,每个系数的估计值和p值单独成列
coefs_wide_format <- model_coefficients %>%
  pivot_wider(
    id_cols = model_formula,
    names_from = term,
    values_from = c(estimate, p.value),
    names_glue = "{term}_{.value}"  # 列名格式:变量名_指标名
  )

# 合并模型整体指标,得到最终宽表
final_wide_table <- left_join(coefs_wide_format, model_overview, by = "model_formula")

关键函数说明

  • tidy(model):提取模型的系数估计值、标准误、t值、p值,每行对应一个系数(包括截距)。
  • glance(model):提取模型层面的统计量,包括r.squared(R²)、adj.r.squared(调整R²)、AIC、p.value(模型整体显著性p值)等。
  • 最终生成的表格是标准数据框,可直接用write.csv()或writexl::write_xlsx()导出为CSV/Excel文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 04:55:17