5

plm で線形パネル モデルを使用して 2 つの回帰モデルを作成し、pglm パッケージでポアソンを使用して一般化されたパネル モデルを作成しました。

library(plm); library(pglm)
data(Unions)  # from pglm-package
punions <- pdata.frame(Unions, c("id", "year"))

fit1 <- plm(wage ~ exper + rural + married, data=punions, model="random")
fit2 <- pglm(wage ~ exper + rural + married, data=punions, model="random", family="poisson")

一連の散布図に近似値をプロットして、2 つの近似をグラフィカルに比較したいと思います。できればggplot2を使用してこれらの行に沿って:

library(ggplot2)
ggplot(punions, aes(x=exper, y=wage)) +
    geom_point() +
    facet_wrap(rural ~ married)

単純に ggplot2 を使用することを検討しましstat_smooth()たが、(おそらく当然のことながら) データのパネル形式を認識していないようです。予測値を手動で抽出してpredictも、pglm-model では機能しないようです。

このプロットで 2 つのパネル モデルの予測値を重ねるにはどうすればよいですか?

4

2 に答える 2

2

私は pglm パッケージに精通していませんがpredict()、データ フレームから将来の値のベクトルを生成するような関数はないようです。

他のすべてのケース (すべて tbh である必要があります) では、ファセット ラップを使用しても、これを ggplot で簡単にプロットできます。予測を新しい列としてデータ フレームに追加するだけです。

punions$pred1 <- predict(fit1,punions,class="lm")

そして、それを追加として追加しgeom_line()ます:

    ggplot() + geom_point(data=punions, aes(x=exper, y=wage)) +
    geom_line(data=punions,aes(x=exper, y= pred1), color = "red") +
    facet_wrap(rural ~ married)
于 2015-12-12T23:07:44.840 に答える