0

预先感谢大家的帮助。我的问题本质上是以下问题的“碰撞”:R: plm -- year fixed effects -- year and quarter data

基本上,我想知道是否无论如何使用 R 中的 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”,时间单位为年-季级别。但是,我只想实际包含年度的固定效应,我不想包含年度-季度的固定效应。但是,如果您尝试运行此回归,

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

我收到以下错误:

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

现在,添加到我之前链接的帖子中,如果您使用的是固定效应模型,解决此问题的一种方法是手动将固定效应作为虚拟变量的向量放入,并仅使用汇集横截面回归。例如,

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

如果这对你有用,那就太好了!但是,这个解决方案对我不起作用,因为我肯定需要使用 plm 函数。原因是因为我实际上想放入一年的随机效应,我不知道如何“手动”做到这一点。是否可以使用 plm 函数解决此问题?

谢谢!

文森特

4

1 回答 1

0

您需要将年份和季度的组合作为数据集的时间维度,即y_q用作第二个索引变量。

这个模型: reg_q <- plm(y ~ x, data=data, index=c("id", "y_q"), model="within", effect="time") 将只处理 quartly 效果。

该模型: reg_ind_year <- plm(y ~ x + factor(year), data=data, index=c("id", "y_q"), model="within", effect="individual") 将处理个体效应和年度效应(注意factor(year)模型中的包含)。它没有考虑季度影响。

于 2017-08-17T15:51:22.233 回答