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

如何将R中compar.gee模型结果导出为规范Excel表格?

导出广义估计方程(GEE)结果为规范Excel表格

问题描述

我有多个以变量形式保存的广义估计方程模型(如function1),直接运行变量名会输出包含Call、观测数、QIC、残差摘要、系数表(含Estimate、S.E.、t、Pr(T > |t|))等内容的结果。使用以下代码导出时:

function1ResultsTable <- capture.output(function1)
write.csv(function1ResultsTable, "Documents/function1ResultsTable.csv")

Excel中系数与对应统计量会被挤在同一单元格,无法生成系数、Estimate、S.E.、t值、Pr(T > |t|)各占一列的规范表格,只能手动整理。

解决方案

方法一:直接提取模型内置的系数矩阵

这类GEE模型的系数数据通常存储在$coefficients组件中,可直接提取并整理为数据框:

# 提取完整系数表(包含所有4列)
coef_df <- as.data.frame(function1$coefficients)
# 添加变量名列作为第一列
coef_df <- cbind(Variable = rownames(coef_df), coef_df)
# 重置行名,避免导出时出现额外行号
rownames(coef_df) <- NULL

然后用writexl包导出为Excel文件(该包无需Java依赖,使用简便):

# 首次使用需安装包
install.packages("writexl")
library(writexl)
# 导出系数表
write_xlsx(coef_df, "Documents/function1_coefficients.xlsx")

方法二:用broom包生成整洁模型结果(通用型方法)

broom包可以将各类统计模型结果转换为标准整洁数据框,适配多数模型类型:

# 首次使用需安装包
install.packages("broom")
library(broom)
# 整理模型结果为整洁数据框
tidy_result <- tidy(function1)
# 导出到Excel
write_xlsx(tidy_result, "Documents/function1_tidy_results.xlsx")

注:如果tidy()对compar.gee模型支持不佳,优先使用方法一。

额外:导出模型元信息(观测数、QIC等)

若需要将模型的元信息(如观测数、QIC值)也导出到同一Excel文件的不同工作表:

# 整理模型元数据
meta_df <- data.frame(
  指标 = c("观测数", "QIC值", "估计尺度参数", "系统发育自由度(dfP)"),
  数值 = c(function1$n, function1$qic, function1$scale, function1$dfP)
)
# 导出多个工作表到同一文件
write_xlsx(
  list(系数表 = coef_df, 模型元信息 = meta_df),
  "Documents/function1_full_results.xlsx"
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 15:32:02