9

NAsを含むデータに対して、によって生成されたモデルに基づいて、近似値を予測しようとしていますplm。サンプルコードは次のとおりです。

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

最後の行を実行すると、データに5行あるのに対し、置換には4行があるというエラーが表示されます。

予測を取得して長さ5のベクトルを返す方法がわかりません...

を実行する代わりに(以下の行のように)を実行すると、期待どおりの結果が得られますplmlm

model <- lm(y ~ x, data=test.data, na.action=na.exclude)
4

1 に答える 1

8

predict.plm これはあなたのために処理すべきものだと思います-パッケージ作成者側の見落としのように思えます-しかし、あなたは?napredictそれを自分で実装するために使用できます:

 pp <- predict(model, test.data)
 na.stuff <- attr(model$model,"na.action")
 (yhat <- napredict(na.stuff,pp))
 ## [1] 1.371429       NA 5.485714 7.542857 9.600000
于 2013-01-20T19:23:37.037 に答える