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

如何在R的Stargazer回归表格中添加t值至标准误下方?

解决Stargazer添加t值到回归表格的方法

要在标准误下方的方括号中添加t值,你可以通过手动提取模型的t统计量,再结合Stargazer的参数实现,具体步骤如下:

步骤1:提取回归模型的t值

先从拟合的线性模型中提取t统计量,代码如下:

# 拟合回归模型
school.reg1 <- lm(math~income+students+english, data=CASchools)
school.reg2 <- lm(read~income+students+english, data=CASchools)

# 从模型结果中提取t值
t1 <- summary(school.reg1)$coefficients[,3]
t2 <- summary(school.reg2)$coefficients[,3]

步骤2:修改Stargazer代码实现需求

通过report参数控制显示内容的顺序,同时传入提取好的标准误和t值,让两者依次显示在系数下方:

stargazer(school.reg1, school.reg2,  type="latex",
          covariate.labels = c("Number of Students at School", "Median Income of Parents", "% of Non-Native English Speakers"),
          dep.var.labels = c("Math", "Reading"),
          keep.stat=c("n", "adj.rsq"),
          # 指定显示顺序:系数→标准误→换行显示t值
          report = "cs*t",
          # 传入标准误
          se = list(summary(school.reg1)$coefficients[,2], summary(school.reg2)$coefficients[,2]),
          # 传入提前提取的t值
          t = list(t1, t2),
          add.lines = list(c("AIC", round(AIC(school.reg1),2), round(AIC(school.reg2),2) )) )

补充说明

  • report="cs*t"表示依次显示系数(Coefficient)、标准误(Std. Error)、t值(t-statistic),*代表换行显示后续统计量
  • 若需要调整t值的小数位数,可提前对t1、t2做格式化,例如t1 <- round(summary(school.reg1)$coefficients[,3], 2)
  • 注意原代码中covariate.labels的数量和模型自变量数量不匹配(模型仅3个自变量,但标签写了5个),需要对应调整,否则会报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 09:55:14