我的数据框如下所示:
unique.groups<- letters[1:5]
unique_timez<- 1:20
groups<- rep(unique.groups, each=20)
my.times<-rep(unique_timez, 5)
play.data<- data.frame(groups, my.times, y= rnorm(100), x=rnorm(100), POP= 1:100)
我想运行以下加权回归:
plm(y~x + factor(my.times) ,
data=play.data,
index=c('groups','my.times'), model='within', weights= POP)
但我不相信plm包允许重量。答案我正在寻找下面模型中的系数:
fit.regular<- lm(y~x + factor(my.times) + factor(my.groups),
weights= POP, data= play.data)
desired.answer<- coefficients(fit.regular)
但是,我正在寻找plm包的答案,因为使用更大的数据集和许多组获得带有plm的估计器内部系数要快得多。
答案 0 :(得分:1)
编辑:此问题不再存在,因为plm现在具有权重功能(请参阅上面的@ Helix123评论)。
即使我知道plm
包没有解决方案,lfe
包中的felm
函数在固定效果的上下文中正确处理权重(这似乎是你需要的你的示例代码的语法)。特别是在许多观察和群体出现的情况下,它着重于速度。
lfe
套餐仅关注固定效果,因此如果您需要随机效果,lme4
套餐可能会be more suited满足您的需求。
答案 1 :(得分:1)
我正在寻找这些信息。我发现这个包的作者之一给出了这个答案http://r.789695.n4.nabble.com/Longitudinal-Weights-in-PLM-package-td3298823.html,这似乎表明没有办法直接在plm包中使用权重。