0

いくつかの基本的なシミュレーションと多変数回帰モデルをグラフ化しようとしてggplot2いますが、途方に暮れています。

私は使用しZelig 3.5ています(新しいZeligにはシミュレーションの不具合があるため)

見つけたブログに基づいて、これを試しました

AppMod1 <- (s1$qi)
AppMod1 <- data.frame(AppMod1$ev)

AppMod1 <- melt(AppMod1,     measure=1:86)
AppMod1 <- ggplot(AppMod1, aes(approve, year)) +
                 geom_point() +
                 geom_smooth(colour="blue") +
                 theme_tufte()
AppMod1

` これはうまくいきませんでした。エラーが発生しました

「エラー: メジャー変数がデータに見つかりません:NA」

モデルは m1、m2、m3 で、シミュレーションは m1 と m2 です。Zelig に付属の「承認」データセットを使用しています。

モデルは次のように計算されます

data(approval)
m1 <- zelig(approve~avg.price, model="ls", data=approval)
m2 <- zelig(approve~avg.price+sept.oct.2001+iraq.war, model="ls", data=approval)
m3 <- zelig(approve~avg.price+sept.oct.2001+avg.price:sept.oct.2001, model="ls", data=approval)

そしてシミュレーションは

x1 <- setx(m2, sept.oct.2001= 1)
s1 <- sim(m2, x=x1)
summary(s1)

x1 <- setx(m2, sept.oct.2001= 0)
s1 <- sim(m2, x=x1)
summary(s1)

oilprice <- min(approval$avg.price):max(approval$avg.price)
x2 <- setx(m2, sept.oct.2001=0, avg.price=oilprice)
s2 <-sim (m2, x=x2)
plot.ci(s2)

oilprice <- min(approval$avg.price):max(approval$avg.price)
x2 <- setx(m2, sept.oct.2001=1, avg.price=oilprice)
s2 <-sim (m2, x=x2)
plot.ci(s2)
4

1 に答える 1

0

への呼び出しが原因でエラーが発生したようmeltです。

コードの 2 行目で、コードのAppMod1 <- data.frame(AppMod1$ev)1 行目で行った割り当てを上書きすることに注意してくださいAppMod1 <- (s1$qi)。したがって、これらの 2 行のコードの後AppMod1は、1 つの列を持つデータ フレームと同じになりますev

ここmeltで、このデータ フレームを溶かそうとします。 への呼び出しは、実際にはデータ フレームに 1 列しかないのに、meltの 86 列があることを示します。measure.varsその結果、あなたが説明したエラーが発生します。

あなたのコードからは、あなたがどのAppMod1ように見えると期待しているのかよくわかりません。コードを実行すると、値s1$qiのみが含まれNULLます。少なくとも、コードが記述どおりに機能するためには、とのAppMod1列を含める必要があります。approveyearggplot

うまくいけば、これは今のところ続けるのに十分な情報です. AppMod1への呼び出しの前後でどのように見えるかを示すと、追加のヘルプを提供しやすくなりますmelt

于 2015-05-04T00:56:56.133 に答える