0

次のデータセットがあります

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

ただし、s の行は除外されますNANA元のデータセットに s がある場合に、適合値に s を追加したいと思いますNANAs から適合値までのパッドを保持するスマートで簡単な方法があるはずdtですが、私にはわかりません。どんな助けでも大歓迎です!

4

1 に答える 1