R:plm——年固定效应——年和季度数据

标签 r regression linear-regression plm

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

以下是一些示例数据:

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

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

duplicate couples (time-id) Error in pdim.default(index[[1]], index[[2]]) :



所以为了解决这个问题,我使用了组合变量“y_q”:
reg1 <- plm(y ~ x, data=data,index=c("id", "y_q"), model="within",effect="time")

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

有没有另一种方法来解决早期的问题,而不是将 tiem 索引设为“y_q”?

提前感谢您的帮助!

最佳答案

在面板设置中,您通常不会为每对夫妇 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

关于R:plm——年固定效应——年和季度数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15960129/

相关文章:

r - 使用ggplot绘制SpatialPolygonsDataFrame

matlab - 约束高阶多项式回归

java - Spark ML决策树如何处理回归问题的连续特征

r - 如何在dplyr中调用多个变量到group_by

r - 你能在r中的gt表中为相邻单元格着色吗?

r - 更改 ggplot 标题中的行间空间?

python - Keras:显示多标签回归中每个标签的损失

r - 在 R 中使用 LFE (FELM) 的固定效应回归常数/截距

使用 lm() 和 predict() 进行滚动回归和预测

python - R 和 Python 中线性回归的差异