2012-05-23 19 views
2

我有出售不同产品的收益每周观察,分别针对不同的国家,像这样:面板回归与特定的非个人固定效应

df <- data.frame(year=rep(c(2002,2003), each=16), 
      week=rep(1:4,4), 
      product=rep(c('A','B'), each=8, times=2), 
      country=rep(c('usa','germany'), each=4, times=4), 
      revenue=abs(rnorm(32))) 

这意味着收入的意见仅供独特week - - country - 的year组合product

我现在想估计包括用于countryyear的相互作用和每个固定效应的模型3210,但无法弄清楚如何做到这一点:

  • 通过summary(lm(revenue~factor(paste(country,year)) + factor(product) + ..., data=df))估计失败的内存不足,因为我的数据集,而不是上面的例子中更大,这意味着我必须估计的1000种固定效果的顺序上的东西
  • 据我所知板使用的是plm包更好估计,但我的情况下似乎没有在其中仅观察跨一个时间和一个横截面尺寸不同的面板的标准范围内配合整齐每估计每个固定效应。我可以从yearweek生成一个时间索引,但是(a)仍然使我具有两个横截面尺寸,并且(b)将为每个交互提供固定效果,这比我想要的更好是。

有没有什么方法可以用plm来估算呢还是有其他的软件包可以做这种事情吗?我知道我可以通过lm贬低上述群体,估计内的数据,然后做一个DF-修正,但我宁愿避免这种情况。

回答

1

首先,创建一个变量,“FE”,标识国家,今年,产品的独特组合。

library(data.table) 
# convert data.frame to data.table 
setDT(df) 
# create a new group variable 
df[, fe := .GRP, by = list(country, year, product)] 
head(df) 
    year week product country revenue fe 
1: 2002 1  A  usa 0.84131750 1 
2: 2002 2  A  usa 0.07530538 1 
3: 2002 3  A  usa 0.56183346 1 
4: 2002 4  A  usa 0.80720792 1 
5: 2002 1  A germany 1.25329883 2 
6: 2002 2  A germany 0.44860296 2 

现在使用plmfelm。我喜欢felm,因为它也适用于多种固定效果和交互式固定效果

library(lfe) 
felm(revenue ~ week | fe, df)