【发布时间】: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 对。您应该唯一标识这些观察结果。