У меня есть следующий набор данных
seed(1)
dt <- data.frame(name= rep(c("A", "B", "C"), c(9,11,10)),
year=c(2001:2009,2000,2002:2011,2001:2010),
var1=c(NA,rnorm(10),NA,rnorm(18)),
var2=c(rnorm(10),NA,NA,rnorm(18)), var3=rnorm(30))
содержащие NA
s в некоторых переменных. Я использую пакет plm
для оценки следующей модели:
fit.plm <- plm(var1 ~ var2 + var3, data=dt, model = "within", index=c("name","year"), na.action = na.exclude)
Теперь я хотел бы извлечь подходящие значения. Насколько я понимаю, лучший способ сделать это — вычесть остатки из моей переменной ответа var1
(поскольку нет функции для получения подходящих значений в pml
(см. здесь):
fit.plm$model[[1]]-fit.plm$residuals
2 3 4 5 6
-0.18364082 0.36118823 0.02070257 0.78060817 0.05237859
7 8 9 10 13
0.12783116 0.03599601 -0.17847569 0.11584831 0.21904021
14 15 16 17 18
0.75298182 0.18605829 -0.15536450 0.30810595 -0.13921289
19 20 21 22 23
-0.35047492 0.08139121 -0.02019619 0.14397486 0.07854582
24 25 26 27 28
-0.01082184 -0.05211639 -0.02904097 0.43262570 -0.46925312
29 30
0.37524551 0.35541691
но он исключает строки с NA
s. Я хотел бы, чтобы подогнанные значения были дополнены NA
s, где исходный набор данных имеет NA
s. Должен быть умный и простой способ сохранить NA
s от dt
до моих подогнанных значений, но я не вижу его. Любая помощь высоко ценится!
na.action
, упрощающий задачу, на данный момент не поддерживается в plm. - person Helix123   schedule 29.06.2016