【问题标题】:R: plm -- year fixed effects -- year and quarter dataR: plm -- 年固定效应 -- 年和季度数据
【发布时间】:2013-04-04 07:37:46
【问题描述】:

我在设置面板数据模型时遇到问题。

这是一些示例数据:

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")

很遗憾,我收到以下错误:

pdim.default(index[[1]], index[[2]]) 中的重复对 (time-id) 错误:

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

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

但这是我的问题——我只想有年度固定效应而不是年度季度。

是否有另一种方法可以绕过之前的问题,而不是将 tiem 索引设置为“y_q”?

提前感谢您的帮助!

【问题讨论】:

标签: r regression linear-regression plm


【解决方案1】:

在面板设置中,您通常不会为每对 id-year 设置一些重复值。

在您的季度数据中,如果不聚合您的数据以使其成为年度数据,将很难计算一年的固定效应模型。

查看示例here,了解应如何格式化您的数据以进行面板数据建模。

这是一种方法:

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

【讨论】:

    猜你喜欢
    • 2016-03-13
    • 2020-08-10
    • 2015-05-01
    • 1970-01-01
    • 2017-09-16
    • 2018-12-20
    • 1970-01-01
    • 2017-09-24
    • 2020-07-16
    相关资源
    最近更新 更多