2015-04-13 10 views
8

Mein Datenrahmen sieht aus wie etwas wie folgt:Gewichte mit plm Paket

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) 

Ich mag folgende gewichtete Regression auszuführen:

plm(y~x + factor(my.times) , 
data=play.data, 
index=c('groups','my.times'), model='within', weights= POP) 

Aber ich glaube nicht, das plm Paket ermöglicht Gewichte. Die Antwort, die ich bin unten für die Koeffizienten aus dem Modell suchen:

fit.regular<- lm(y~x + factor(my.times) + factor(my.groups), 
weights= POP, data= play.data) 
desired.answer<- coefficients(fit.regular) 

Aber ich bin auf der Suche nach einer Antwort mit dem plm Paket, weil es viel schneller mit größerem den Koeffizient des innerhalb Schätzer mit plm zu erhalten Datensätze und viele Gruppen.

+0

Die Entwicklungsversion von 'plm' enthält jetzt ein' weights' Argument für 'plm()'. – Helix123

Antwort

1

Auch wenn ich keine Lösung weiß, mit dem plm Paket, die felm Funktion im lfe Paket behandelt Gewichte richtig im Zusammenhang mit festen Effekten (das scheint, was Sie von der Syntax Ihres Beispielcode benötigen). Es ist insbesondere mit dem Fokus auf Geschwindigkeit in der Gegenwart von vielen Beobachtungen und Gruppen geschrieben.

Das Paket lfe konzentriert sich nur auf feste Effekte. Wenn Sie also zufällige Effekte benötigen, könnte das lme4 Paket be more suited Ihren Bedürfnissen entsprechen.