パッケージplm
を使用してパネルモデルを推定しています。 パネルの個人の中には、すべての説明変数のデータがないため、回帰から除外されています。 どのような特定の観測値が推定に使用されたかはどうすればわかりますか?R(plm)の回帰で使用されるデータ観測を取得する
Stataでは、通常のコマンドはe(sample)
です。 Rには何がありますか?
パッケージplm
を使用してパネルモデルを推定しています。 パネルの個人の中には、すべての説明変数のデータがないため、回帰から除外されています。 どのような特定の観測値が推定に使用されたかはどうすればわかりますか?R(plm)の回帰で使用されるデータ観測を取得する
Stataでは、通常のコマンドはe(sample)
です。 Rには何がありますか?
モデルに使用されるデータは、plm
関数によって返されるリストに格納されます。このリストにはいくつかの要素が含まれており、そのうちの1つはmodel
です。モデルに使用されるデータが格納されます。ここでplm
のヘルプをもとに例を示します
library(plm)
data("Produc")
のはProduc$pcap
NA
に(欠損データ)の最初の20の値を設定してみましょう:
Produc$pcap[1:20] = NA
今、私たちはProduc
を使用してplm
モデルを作成します:
zz <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
data = Produc, index = c("state","year"))
zz
は、リターン情報dをplm
ファンクションで実行します。 str(zz)
を実行すると、zz
の内容を確認できます。モデルに使用されるデータはzz$model
に格納されます。最初の20行が欠落しているのは、21で始まるrownamesです。これは、Produc$pcap
からNA
に設定されているためです。
head(zz$model) # You can also do: head(zz[["model"]])
log(gsp) log(pcap) log(pc) log(emp) unemp 21 10.13634 9.358610 10.21481 6.571583 4.1 22 10.15417 9.403360 10.26915 6.614726 5.6 23 10.12323 9.467233 10.31703 6.591811 12.0 24 10.16743 9.518111 10.28821 6.631606 9.8 25 10.24388 9.559265 10.31137 6.696170 8.2 26 10.34374 9.603196 10.34623 6.797271 6.1
あなたがモデルで使用されたデータフレームの行を選択したい場合は、サブセット化のための指標としてzz$model
のrownamesを使用することができます。
Produc[rownames(zz$model), ]
Produc[complete.cases(Produc), ]
は、欠落するデータがないデータフレームの行のみを返します。ただし、データフレームに欠損データがあるがモデル式で使用されていない列がある場合、このアプローチでは、一般にモデルで使用されていたデータ行の一部が除外されます(ただし、モデルで使用されていない列の欠損データは、モデルで使用されている列のデータが欠落しているため、常に同じ行に付随します。
おそらく '?complete.cases'が役立つでしょう。 – lmo