私は、海草の脊椎動物の存在量を見るために負の2項glmを使いました。私は相互作用の用語を持っていたので、私は魚の存在量のいくつかの値を予測しました。私はこれらの予測された回帰線をプロット空間の終わりに到達させたいと思います。今それらはすべて、以下の例のように、異なる時間に遮断されています。私は以前に私がfullrange=TRUE
を使用することができますが、それはまだ動作しませんでしたlines()
コマンドを使用しますが、geom_lines()
に切り替えた回帰直線をgeom_line()で延長するggplot2
total<-c(1,0,5,7,9,10,23,45,78,100)
shoots_collected<-c(1,2,3,4,5,6,7,45,67,88)
epi_bio<-c(0.0,11,0.89,1.5,9,5,.04,6,7,.9)
Year<-c(1,1,1,1,2,2,2,2,1,1)
Year<-as.factor(Year)
intertidal<-data.frame(shoots_collected,Year,epi_bio, total)
glm.neg<-glm.nb(total~Year+shoots_collected+epi_bio+shoots_collected*epi_bio,
data=intertidal)
summary(glm.neg)
abun_shoots2015<-data.frame("shoots_collected"=rep(0:30, rep(5,31)),
"epi_bio"=rep(c(0,1,2,3,4), 31), "Year"=rep("1", 155))
# then extracted predicted values using:
p2015<-predict(glm.neg, newdata=abun_shoots2015, se.fit=TRUE, type='response')
abun_shoots2015$fit<-p2015$fit
ggplot(intertidal, aes(x=shoots_collected, y=total)) +
scale_x_continuous(limits = c(0, 30))+
scale_y_continuous(limits=c(0,10))+
geom_point(pch=1)+
geom_line(data=abun_shoots2015[which(abun_shoots2015$epi_bio==0.0000),], aes(x=shoots_collected, y=fit), col="red")+
geom_line(data=abun_shoots2015[which(abun_shoots2015$epi_bio==1),], aes(x=shoots_collected, y=fit), col="green")+
geom_line(data=abun_shoots2015[which(abun_shoots2015$epi_bio==2),], aes(x=shoots_collected, y=fit), col="blue")+
geom_line(data=abun_shoots2015[which(abun_shoots2015$epi_bio==3),], aes(x=shoots_collected, y=fit), col="yellow")+
geom_line(data=abun_shoots2015[which(abun_shoots2015$epi_bio==4),], aes(x=shoots_collected, y=fit), col="pink")
。私はラインをプロットしようとするといくつか欠けている値があることを知っている、と私はなぜいくつかが断ち切られていると思うが、私はここからどこに行くのか分からない。
感謝を、私は自分の関数の代わりに角括弧の中に 'coord_cartesian'を使用しようとしていました。私は実際のデータに私の行を拡張することに問題が残っていました(それはサンプルデータでは機能しましたが、何らかの理由で私自身では機能しませんでした)。私がしたことは、私の最大値が30であっても、0-35のシュートから予測されました。私はちょっと早めにグラフを切り取ってみます。ありがとう、これはもっとよく見えます!伝説を手動で追加することを楽しみにしていませんでした。 – lken