R:PLM - 年期固定效应 - 年度和季度数据(R: plm — year fixed effe

2019-08-22 02:41发布

我有一个问题,建立面板数据模型。

下面是一些示例数据:

library(plm)

id <- c(1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2)
year <- c(1999,1999,1999,1999,2000,2000,2000,2000,1999,1999,1999,1999,2000,2000,2000,2000)
qtr <- c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4)
y <- rnorm(16, mean=0, sd=1)
x <- rnorm(16, mean=0, sd=1)

data <- data.frame(id=id,year=year,qtr=qtr,y_q=paste(year,qtr,sep="_"),y=y,x=x)

我使用“身份证”作为单项指标和“年”为时间指数运行如下回归方程:

reg1 <- plm(y ~ x, data=data,index=c("id", "year"), model="within",effect="time")

不幸的是,我得到以下错误:

复制对(时间-ID)的错误在pdim.default(指数[[1]],索引[[2]]):

所以,要解决这个问题,我使用组合变量是“y_q”:

reg1 <- plm(y ~ x, data=data,index=c("id", "y_q"), model="within",effect="time")

但这里是我的问题 - 我只希望有一年的固定效果,而不是去年的四分之一。

有另一种方式来解决前面的问题,而不是使TIEM指数“y_q”?

感谢提前任何帮助!

Answer 1:

在面板设置,你通常不会有一对夫妇的id年对一些重复的值。

在您的季刊资料将很难计算每年固定效应模型,而不汇总数据,使他们每年。

检查的例子在这里看到你的数据应该如何格式化的面板数据建模。

这里是单向做到这一点:

require(plyr)
yeardata  <- ddply(data, .(year, id), summarize, y = mean(y),
                                                 x = mean(x))


require(plm)
reg1 <- plm(y ~ x, data = yeardata, index = c("id", "year"), model = "within", effect = "time")
fixef(reg1)

##      1999      2000 
## 0.2641997 0.0041193


文章来源: R: plm — year fixed effects — year and quarter data