Próbuję przewidzieć dopasowanych wartości w stosunku do danych zawierających NA
s, w oparciu o model wygenerowany przez plm
. Oto przykładowy kod:Jak radzić sobie z NA w regresji danych panelu?
require(plm)
test.data <- data.frame(id=c(1,1,2,2,3), time=c(1,2,1,2,1),
y=c(1,3,5,10,8), x=c(1, NA, 3,4,5))
model <- plm(y ~ x, data=test.data, index=c("id", "time"),
model="pooling", na.action=na.exclude)
yhat <- predict(model, test.data, na.action=na.pass)
test.data$yhat <- yhat
Po uruchomieniu ostatniego wiersza pojawia się błąd informujący, że zamiennik ma 4 wiersze, podczas gdy dane mają 5 wierszy.
nie mam pojęcia, jak się przewidzieć powrócić wektor o długości 5 ...
Jeśli zamiast prowadzenia plm
mogę uruchomić lm
(jak w wierszu poniżej) uzyskać oczekiwany rezultat.
model <- lm(y ~ x, data=test.data, na.action=na.exclude)