如何将R Studio中回归模型的汇总统计结果导出到Excel?
lm回归结果导出Excel的实现方案
可用工具包及适用场景
目前R生态下有多个成熟工具包可以实现需求,针对不同使用场景推荐如下:
- 基础导出需求(仅需导出原始指标做二次处理):
broom+openxlsx组合 - 报告展示需求(需要规整的标准化表格):
stargazer为首选方案 - 多模型对比+高度自定义展示:可选用
modelsummary
基础导出实现代码
如果你只需要把系数、标准误、p值、模型拟合指标等原始数据导出到Excel自行调整格式,用broom将回归结果转为结构化数据框,再通过openxlsx写入文件即可:
# 加载依赖包 library(broom) library(openxlsx) # 示例回归模型 fit <- lm(mpg ~ wt + hp + am, data = mtcars) # 提取系数明细 coef_table <- tidy(fit, conf.int = TRUE) # 提取模型整体拟合指标(R²、F值、AIC等) model_stats <- glance(fit) # 写入Excel的不同工作表 wb <- createWorkbook() addWorksheet(wb, "回归系数表") writeData(wb, "回归系数表", coef_table) addWorksheet(wb, "模型拟合指标") writeData(wb, "模型拟合指标", model_stats) saveWorkbook(wb, "lm回归结果.xlsx", overwrite = TRUE)
报告场景最优方案说明
stargazer默认输出的就是学术/商业报告通用的标准化回归表格,自动生成显著性星号、支持多模型并列对比,导出后几乎不需要二次调整格式,使用示例如下:
library(stargazer) # 输出为CSV格式,可直接用Excel打开,格式已自动规整 stargazer(fit, type = "csv", out = "回归结果报告版.csv", title = "油耗影响因素回归结果", dep.var.labels = "每加仑行驶里程(mpg)", covariate.labels = c("车重", "马力", "变速箱类型"), ci = TRUE, # 展示95%置信区间 digits = 3, # 统一保留3位小数 star.cutoffs = c(0.1, 0.05, 0.01) # 自定义显著性星号阈值 )
如果需要直接写入.xlsx格式,可以把stargazer输出的表格先转为数据框,再用openxlsx写入即可。
内容的提问来源于stack exchange,提问作者lanki88
相关产品推荐
相关产品推荐

