我目前正在r中进行固定效果回归。
我有一个由以下变量组成的数据集:公司首席执行官的总薪酬(TOTAL_COMP)
、公司代码(GVKEY)
、会计年度(FISCAL_YEAR)
、一些公司特征(如资产(AT)
(和公司的行业(SIC)
。
尽管数据是专有的,但它看起来像:
例如
TOTAL_COMP <- c(100, 200, 50, 150, 300, 200, 150, 75)
GVKEY <- c("103", "103", "103", "103", "104", "104", "104", "104")
AT <- c(1000, 1100, 1200, 1300, 2000, 2100, 2200, 2300)
FISCAL_YEAR <- c(2015, 2016, 2017, 2018, 2015, 2016, 2017, 2018)
SIC <- c(78, 78, 78, 78, 80, 80, 80, 80)
我使用了plm function
,并使用行业(SIC)
固定效应进行了固定效应回归。
model <- plm(TOTAL_COMP ~ AT, index = "SIC", model = "within", data = COMBINED_DATA)
随后,我想将标准错误集中在公司(GVKEY)
,而不是行业(SIC)
级别。然而,我不确定该使用哪种功能。我试过了:
coeftest(model, vcov = vcovHC(regression, type = "HC0", cluster = "group"))
但恐怕这将标准误差聚集在行业CCD_ 10而不是公司CCD_。如何计算公司(GVKEY)
级别的标准误差?
(使用的包:plm
和lmtest
(
您可以将SIC
设置为伪变量,并对公司级别的标准错误进行聚类:
# The fixed effects model
model <- lm(TOTAL_COMP ~ AT + factor(SIC), data = COMBINED_DATA)
# The fixed effects model with cluster settings
library(estimatr)
Clu_robust <- lm_robust(TOTAL_COMP ~ AT + factor(SIC),
data = COMBINED_DATA,
clusters = GVKEY,
se_type = 'stata')