2012-05-13 31 views
1

私は、GLMプロット機能は、あなたのフィット感を示すために、いくつかの素敵なプロットを持っていることを承知している が、私はそれにもかかわらずいただきたいのは、私は、次のデータセットR - 集計ポイントとロジスティック曲線プロット

bodysize=rnorm(20,30,2) 
bodysize=sort(bodysize) 
survive=c(0,0,0,0,0,1,0,1,0,0,1,1,0,1,1,1,0,1,1,1) 
dat=as.data.frame(cbind(bodysize,survive)) 

を持っているとしましょう最初のプロットを作成したい:予測レベルの数の予測)

1)生データポイント 2)loigistic曲線との両方 3点 4)および凝集点

library(Hmisc) 
plot(bodysize,survive,xlab="Body size",ylab="Probability of survival") 
g=glm(survive~bodysize,family=binomial,dat) 
curve(predict(g,data.frame(bodysize=x),type="resp"),add=TRUE) 
points(bodysize,fitted(g),pch=20) 

ここまでのすべての罰金

今、私は私が単にモデルのために使用されるデータセットや他のもののすべての並べ替えにAggBdを一致させることを試みたがましX1

dat$bd<-cut2(dat$bodysize,g=5,levels.mean=T) 
AggBd<-aggregate(dat$survive,by=list(dat$bd),data=dat,FUN=mean) 
plot(AggBd,add=TRUE) 
#Doesn't work 

の与えられたレベルのため、実際のデータの生存率をプロットしたいです両者を一緒にプロットすることはできません。これを回避する方法はありますか? 私は基本的に、同じ軸に沿って最後のプロットを上書きする必要があります。

この特定のタスクの他に、私はしばしば、異なる変数をプロットするが、2次元プロット上で似たようなスケール/範囲を持つ異なるプロットを重ねる方法を知っています。私は本当にあなたの助けに感謝します。

答えて

2

最初の列がAggBdの場合は、プロットにポイントを追加する前にレベルを数値に変換する必要があります。

AggBd$size <- as.numeric (levels (AggBd$Group.1))[AggBd$Group.1] 

あなたが最良のあなたのy軸を指定しているpoints

points (AggBd$size, AggBd$x, pch = 3) 
1

を使用し、exisitingプロットにポイントを追加します。また、多分削除または軸を変更明らかpar(new=TRUE)

plot(bodysize,survive,xlab="Body size",ylab="Probability of survival") 
g=glm(survive~bodysize,family=binomial,dat) 
curve(predict(g,data.frame(bodysize=x),type="resp"),add=TRUE) 
points(bodysize,fitted(g),pch=20) 
#then 
par(new=TRUE) 
# 
plot(AggBd$Group.1,AggBd$x,pch=30) 

を使用して、例えば重複を防止するために、マダニ

plot(AggBd$Group.1,AggBd$x,pch=30,xaxt="n",yaxt="n",xlab="",ylab="") 

与える:

enter image description here

関連する問題