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

使用lm_robust与texreg生成仅含观测数的回归表格问题

解决lm_robust+texreg保留指定统计量的问题

问题背景

使用estimatr包的lm_robust拟合带Stata风格聚类标准误的回归模型后,调用texreg生成表格时,设置include.rsquared = FALSE等参数无法去除R²、调整R²等多余统计量,同时出现类型转换警告,需要生成仅包含系数和观测数(nobs)的表格。

问题原因

  1. 原代码存在拼写错误:inlcude.rmse应为include.rmse;
  2. lm_robust模型对象被texreg通过broom包提取时,会生成默认include参数未覆盖的额外统计量(如Statistic、P Value等),这些需要通过gof.map参数手动排除。

解决方案

修正拼写错误,并通过gof.map精确指定保留的统计量,同时排除所有不需要的项:

library(estimatr)
library(texreg)

# 生成数据
data <- data.frame(
  x = rnorm(100),
  z = rnorm(100),
  b = rbinom(100, 1, 0.5),
  n = rpois(100, 10)
)
data$y <- 0.5 + 2 * data$x + 0.1 * data$z + 0.5 * data$b - 0.1 * (data$x - 0.5) ^ 2 + rnorm(100)

# 拟合模型
model1 <- lm_robust(y ~ x, data = data, clusters = data$b, se_type = "stata")
model2 <- lm_robust(y ~ x + z, data = data, clusters = data$b, se_type = "stata")
model3 <- lm_robust(y ~ x + b, data = data, clusters = data$z, se_type = "stata")
model4 <- lm_robust(y ~ x + z + b, data = data, clusters = data$n, se_type = "stata")

# 生成目标表格
texreg(
  list(model1, model2, model3, model4), table = FALSE,
  custom.model.names = c("Model 1", "Model 2", "Model 3", "Model 4"),
  custom.coef.map = list("x" = "only coeff"),
  include.ci = FALSE, include.adjr = FALSE, include.rsquared = FALSE, include.rmse = FALSE,
  include.nobs = TRUE,
  # 关键:用gof.map排除所有不需要的统计量,仅保留nobs
  gof.map = list(
    "R^2" = FALSE,
    "Adj. R^2" = FALSE,
    "Statistic" = FALSE,
    "P Value" = FALSE,
    "DF Resid." = FALSE,
    "se_type" = FALSE,
    "nobs" = TRUE
  ),
  digits = 3
)

效果验证

运行上述代码后,将生成仅包含系数和观测数的LaTeX表格,与期望输出一致,同时消除类型转换警告。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 11:57:07