先谢谢大家的帮助。我的问题基本上是以下问题的“颠簸”: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")
我收到以下错误:
重复的夫妻(time-id)pdim.default(index [[1]]中的错误, index [[2]]):
现在,要添加到我之前链接的帖子,如果你使用固定效果模型,解决这个问题的一种方法是手动将固定效果作为虚拟变量的向量输入,并使用合并的横截面回归。例如,
reg1 <- plm(y ~ x + factor(id) + factor(year), data=data,index=c("id", "year"), model="pooling",effect="time")
如果这对您有用,那就太好了!但是,这个解决方案对我不起作用,因为我肯定需要使用plm函数。原因是因为我实际上想要投入一年的随机效果,而且我不确定如何“手动”。有没有使用plm函数解决这个问题?
谢谢!
文森特
答案 0 :(得分:0)
您需要将年份和季度的组合设置为数据集的时间维度,即使用y_q
作为第二个索引变量。
此型号:
reg_q <- plm(y ~ x, data=data, index=c("id", "y_q"), model="within", effect="time")
将只处理夸大效果。
此型号:
reg_ind_year <- plm(y ~ x + factor(year), data=data, index=c("id", "y_q"), model="within", effect="individual")
将照顾个人效果和年度效应(请注意在模型中包含factor(year)
)。它不会考虑季度效应。