如何在 R 中创建具有聚类(按公司)标准误差的线性模型输出

How to create an linear model output with clustered (by firms) standard error in R

https://1drv.ms/u/s!ArUNQ8J4vgGqhe8IAVP0ulapoEv4uQ?e=wRMEWN

我在上面提供了我的数据框,在下面提供了我的 R 代码。

我正在尝试在公司层面上对标准误差进行聚类。

公司编号 = gvkey

我试过 miceadds package 但我无法正确执行它。

最后我想创建一个线性回归输出,包括公司级别的聚类标准误差。

输出应该类似于这个:

非常感谢!!!

更新

m1_1 <- lm_robust(ROA ~ fam_ownership + lag_investment + dual_class + age + crisis, clusters = gvkey
           , 
           data) 

m1_2 <- lm_robust(ROA ~ fam_ownership + fam_ownership_squared + lag_investment + dual_class + age+crisis, 
                  clusters = gvkey,
           data)

m1_3 <- lm_robust(ROA ~ fam_ownership + fam_ownership_squared + lag_investment + dual_class + age +crisis
           + as.factor(industry) + +as.factor(year), clusters = gvkey,
           data)

m1_4 <- lm_robust(ROA ~ fam_ownership + famfirm50 + lag_investment + dual_class + age+crisis
           + as.factor(industry)+as.factor(year), clusters = gvkey,
           data) 


stargazer(m1_1,m1_2,m1_3,m1_4, type="html", dep.var.labels=c("ROA"), intercept.bottom = FALSE,
          out="OLS1")

当我使用 lm_robuststargazer 时,我收到以下错误:

% Error: Unrecognized object type.
% Error: Unrecognized object type.
% Error: Unrecognized object type.
% Error: Unrecognized object type.

计算聚类标准误的方法有很多种。最简单的可能是使用 estimatr 包:而不是使用 lm(),而是使用带有 clusters 参数的 lm_robust() 函数。

但是 lm_robust() 生成 class lm_robust 的对象,而 stargazer 将无法使用 class 的对象。要在 stargazer 中获取集群 SE,请参阅