PLM: 年固定效应--年份和季度数据

8
我遇到了设置面板数据模型的问题。
这是一些样本数据:
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)

我使用“id”作为个人索引,“year”作为时间索引运行以下回归:

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

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

重复的时间-ID对。pdim.default(index[[1]], index[[2]]) 出现错误:

为了解决这个问题,我使用了组合变量 'y_q':

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

但是这里有一个问题——我只想要年度固定效应,而不是年-季度。

除了将时间索引设置为“y_q”,是否有其他方法解决之前的问题?

提前感谢任何帮助!


请参见以下与编程有关的内容:https://stackoverflow.com/questions/28789767/how-to-include-a-year-fixed-effect-in-a-year-quarter-panel-data-in-r-using-plm - Helix123
1个回答

3
在面板设置中,通常每个夫妻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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接