首页 > 解决方案 > 使用 broom::augment Panel 数据模型

问题描述

我想问一下,

在面板数据中使用augment函数时存在问题,尤其是在第一差估计器上。

有没有办法如何使用函数augment或任何方法以及如何检索回归表,即使是一阶差分估计器?适用于其他方法。

library(foreign)
library(plm)

crime <- read.dta("http://fmwww.bc.edu/ec-p/data/wooldridge/crime4.dta")

crime.p <- pdata.frame(crime,index=c("county","year"))

panel1 <- plm(log(crmrte) ~ polpc + prbconv + avgsen + density, data = crime.p, model = "within")
panel2 <- plm(log(crmrte) ~ polpc + prbconv + avgsen + density, data = crime.p, model = "random")
panel3 <- plm(log(crmrte) ~ polpc + prbconv + avgsen + density, data = crime.p, model = "fd")


broom::augment(panel1)
broom::augment(panel2)
broom::augment(panel3)

标签: rdplyrtidyverse

解决方案


您可以访问 broom::augment 函数手动生成的组件。下面的代码可能会给你一些指导。我首先将模型作为 panel3 列表的一部分访问,然后按名称加入残差。在某些情况下,残差丢失,我怀疑这是 broom::augment 似乎不起作用的原因。

data.frame("rownames" = row.names(panel3$model), panel3$model) %>%
      left_join(data.frame("rownames" = names(panel3$residuals), "resid" = panel3$residuals))

推荐阅读