【问题标题】:Using broom::tidy on felm result with clustered standard errors在具有聚集标准错误的 felm 结果上使用 broom::tidy
【发布时间】:2018-02-07 21:01:16
【问题描述】:

我正在尝试从面板数据模型中提取点估计值和置信区间。下面使用lfe 文档中的固定示例重现了错误。我所做的唯一小改动是在公司级别对标准错误进行聚类,以便在est2 中复制我的问题。

## create covariates
x <- rnorm(1000)
x2 <- rnorm(length(x))

## individual and firm
id <- factor(sample(20,length(x),replace=TRUE))
firm <- factor(sample(13,length(x),replace=TRUE))

## effects for them
id.eff <- rnorm(nlevels(id))
firm.eff <- rnorm(nlevels(firm))

## left hand side
u <- rnorm(length(x))
y <- x + 0.5*x2 + id.eff[id] + firm.eff[firm] + u

## estimate and print result
est1 <- felm(y ~ x+x2| id + firm)
summary(est1)

## estimate and print result with clustered std errors
est2 <- felm(y ~ x+x2| id + firm | 0 | firm)
summary(est2)

我可以在非集群SE版本或没有包括固定效果:

tidy(est1)
tidy(est2)
tidy(est1, fe = TRUE)

但如果我要求固定效果,我不能:

tidy(est2, fe = TRUE)

错误是这样的:Error in overscope_eval_next(overscope, expr) : object 'se' not found

我不确定这是 broom 附带问题还是 lfe 附带问题。我可能做错了什么,但无论我是否对 SE 进行聚类,固定效应都应该有点估计和标准误差。 (而且集群少于 FE 的事实可能是一个计量经济学问题,但它似乎并没有推动这个特定问题。)有什么建议吗?

【问题讨论】:

    标签: r broom lfe


    【解决方案1】:

    这里的问题是lfe::getfe() 应该根据其帮助页面返回列c('effect','se','obs','comp','fe','idx')。但是,如果你运行

    lfe::getfe(est1, se = TRUE)

    lfe::getfe(est2, se = TRUE)

    在第二种情况下,标准错误位于名为clusterse 的列中,而不是se

    错误消息是函数broom:::tidy.felm 使用lfe::getfe() 然后dplyr::select(se) 的结果。

    我想从技术上讲这是一个lfe 问题,但我不确定哪个包更容易修改

    更新:我给 Simen Gaure(包作者)发了电子邮件,他将在今年春天的某个时候向 CRAN 发布

    【讨论】:

      猜你喜欢
      • 2018-03-22
      • 1970-01-01
      • 2018-09-14
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      • 1970-01-01
      • 1970-01-01
      • 2021-04-14
      相关资源
      最近更新 更多