2015-04-13 36 views
8

Moja ramka danych wygląda jak coś w następujący sposób:Wagi z pakietem plm

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) 

Chciałbym uruchomić następujące regresja ważona:

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

Ale nie wierzę pakiet PLM umożliwia ciężary. Odpowiedź szukam współczynnika z poniższym wzorem:

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

jednak szukam odpowiedzi z pakietem plm, ponieważ jest o wiele szybciej, aby uzyskać współczynnik ciągu estymatora z PLM z większymi zbiory danych i wiele grup.

+0

Wersja rozwojowa 'plm' zawiera teraz argument' wagowy' dla 'plm()'. – Helix123

Odpowiedz

1

Choć nie znam rozwiązania z pakietu plm funkcja w pakiecie lfefelm obsługuje ciężarów poprawnie w kontekście trwałego wpływu (co wydaje się, co trzeba ze składni swojego kodu przykładu). Jest to szczególnie napisane z naciskiem na szybkość w obecności wielu obserwacji i grup. Pakiety

Pakiet koncentruje się wyłącznie na stałych efektach, więc jeśli potrzebujesz efektów losowych, pakiet lme4 może be more suited do Twoich potrzeb.