【问题标题】:fixed effects in R: plm vs lm + factor()R中的固定效果:plm vs lm + factor()
【发布时间】:2017-01-26 13:52:22
【问题描述】:

我正在尝试在 R 中运行固定效应回归模型。我想控制变量 C 和 D 的异质性(两者都不是时间变量)。

我尝试了以下两种方法:

1) 使用 plm 包:给我以下错误信息

formula = Y ~ A + B + C + D

reg = plm(formula, data= data, index=c('C','D'), method = 'within')

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

我还尝试使用

首先创建一个面板
data_p = pdata.frame(data,index=c('C','D'))

但我在这两列中都反复观察过。

2) 使用 factor() 和 lm:效果很好

formula = Y ~ A + B + factor(C) + factor(D)
reg = lm(formula, data= data)

这两种方法有什么区别?为什么 plm 不适合我?是不是因为指标之一应该是时间?

【问题讨论】:

  • plm 的错误信息非常丰富:只需在网络上搜索即可(参见例如stat.ethz.ch/pipermail/r-help/2010-March/233578.html
  • 为什么要将索引包含在公式中?如您所说, D 不是时间变量。您的 plm 命令对 R 说 C 识别个人和 D 时间。我知道,你可能是在使用其他维度,我们是这样吗?此外,该错误表示您重复了由变量 C 和 D 形成的 id-time 对。您应该唯一标识这些观察结果。

标签: r lm plm


【解决方案1】:

这个错误是说你重复了由变量 C 和 D 形成的 id-time 对。

假设您有第三个变量 F,它与 C 一起使个体与其他变量(或您的第一个维度,无论它是什么)区分开来。然后使用 dplyr 你可以创建一个独特的索引,比如id

data.frame$id <- data.frame %>% group_indices(C, F) 

plm 中的索引参数变为index = c(id, D)

lm + factor() 是一个解决方案,以防您有不同的观察结果。如果不是这样,它就不会正确地对每个 id 内的结果进行加权,也就是无法正确识别固定效果。

【讨论】:

    猜你喜欢
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 2017-09-16
    • 2015-04-06
    • 2020-08-02
    • 2013-04-04
    • 2021-11-27
    • 1970-01-01
    相关资源
    最近更新 更多