我第一次尝试在 R 中使用 plm 包。
我希望估计一个只有时间虚拟变量的池模型,即没有未观察到的异质性。
我运行了一个简单的回归形式:
plm(dep ~ x:y -1, data=data, index=c("panel_var", "time_var"), effect="time", model="pooling")
,其中 x 是连续变量,y 是分类变量(因此 x:y 是交互作用)。我将 -1
添加到模型中,以不包含截距,因为我希望有时间虚拟值。
使用summary
时,模型正确地告知我“面板”和“时间”维度的时间大小。但是,它不报告时间虚拟值。通过检查,我发现这是因为它在回归中不包含时间虚拟(运行一个没有截距的简单 lm
回归会给出相同的答案)。
鉴于 effect="time"
选项不会添加时间虚拟对象,它有什么作用?
我知道我想要的模型可以使用 lm 运行,但我想明确说明面板结构并使用 plm 包中包含的 vcovSCC 协方差结构(尽管在运行 lm
回归后这可能也是可行的)。
感谢您的帮助!
最佳答案
合并的 OLS 模型既没有时间效应,也没有个体效应。也许包应该发出错误消息。您可能需要一个固定效应模型,例如。克。
data(Grunfeld, package="plm")
# estimate model with time effects
fe <- plm(inv ~ value + capital, data=Grunfeld, model = "within", effect = "time")
summary(fe)
# extract time effects
fixef(fe)
关于r - 具有时间效应的 plm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33549911/