【问题标题】:panel regression with non-individual-specific fixed effects具有非个体特定固定效应的面板回归
【发布时间】:2012-05-23 13:24:13
【问题描述】:

我每周都会对不同国家/地区的不同产品销售收入进行观察,如下所示:

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

这意味着收入的观察只有year-week-country-product的组合是唯一的

我现在想估计一个模型,该模型包含countryyear 以及每个product 的相互作用的固定效应,但不知道如何做到这一点:

  • 由于内存不足,通过 summary(lm(revenue~factor(paste(country,year)) + factor(product) + ..., data=df)) 进行估计失败,因为我的数据集比上面的示例大得多,这意味着我必须估计大约 1000 个固定效应的东西
  • 据我所知,使用plm 包可以更好地估计面板,但我的情况似乎并不完全适合面板的标准框架,其中观察结果仅在一次和一个横截面维度上有所不同估计每个和固定效应。我可以从yearweek 生成时间索引,但是(a)仍然给我留下两个横截面尺寸,并且(b)会给我每个year-week 交互的固定效果,即比我想要的要好。

是否有任何方法可以使用plm 进行估算,或者是否有其他软件包可以做这种事情?我知道我可以贬低上述组内的数据,通过lm 进行估计,然后进行 df 校正,但我宁愿避免这种情况。

【问题讨论】:

    标签: r panel


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-27
      • 2020-03-20
      • 2021-12-25
      • 2019-11-24
      • 2016-03-25
      • 2021-09-01
      • 2020-07-21
      • 1970-01-01
      相关资源
      最近更新 更多