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

如何在R中计算同一变量跨年度多个估计系数的t统计量?

获取年度截面回归的系数、标准误与t统计量

当你用feols()搭配fsplit = ~year运行年度截面回归后,返回的是fixest_multi类型对象,可直接从中提取所需的系数、标准误并计算t统计量,以下是两种实用方法:

方法一:手动提取并整理结果

# 提取每个年度回归的系数表(包含系数、标准误等)
coef_tables <- lapply(model, function(m) summary(m)$coeftable)

# 将列表转换为结构化数据框,添加年度标识
all_results <- do.call(rbind, lapply(names(coef_tables), function(yr) {
  df <- as.data.frame(coef_tables[[yr]])
  df$variable <- rownames(df)
  df$year <- yr
  rownames(df) <- NULL
  df
}))

# 筛选核心自变量x1_t1的结果
x1_results <- subset(all_results, variable == "x1_t1")

# 计算t统计量(系数除以标准误)
x1_results$t_stat <- x1_results$Estimate / x1_results$`Std. Error`

最终x1_results数据框会包含每个年度的x1_t1系数、标准误、t统计量及其他回归统计量。

方法二:用broom包快速整理

若已安装broom包,可借助tidy()函数直接标准化提取结果:

library(broom)

# 一次性整理所有年度回归的结果
tidy_all <- tidy(model, conf.int = TRUE)

# 筛选x1_t1的相关行
x1_tidy <- subset(tidy_all, term == "x1_t1")

这里x1_tidy的statistic列就是直接计算好的t统计量。

注意事项

  • 若需要异方差稳健或聚类标准误,可在feols()中添加vcov参数(比如vcov = ~firm_id实现企业层面聚类),提取的标准误会自动对应调整后的结果。
  • 可通过class(model)确认对象类型为fixest_multi,确保后续操作有效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:50:39