Vote count:
0
I first fitted a Poisson glm in R as follows:
> healthvalue<-c(13,21,12,11,16,9,7,5,8,8)
> numberofdrugs<-c(74,81,80,79,89,96,69,88,53,72)
> age<-c(50.45194,54.89382,46.52569,44.84934,53.25541,60.16029,50.33870,51.44643,38.20279,59.76469)
> dat=data.frame(healthvalue=healthvalue,off.set.term=log(numberofdrugs),age=age)
> fit.1=glm(healthvalue~age+offset(off.set.term),data=dat,family=poisson)
Next I tried to get predictions of the response (on the log scale) for a new dataset using predict function. Note that I set the offset term as zero.
> newdat=data.frame(age=c(52.09374,50.89329,50.61472,39.13358,44.79453),off.set.term=rep(0,5))
> predict(fit.1,newdata =newdat,type="link")
1 2 3 4 5
-1.964381 -1.956234 -1.954343 -1.876416 -1.914839
Next I tried package segmented in R and fit a segmented glm as follows:
> library(segmented)
> fit.2=segmented(fit.1,seg.Z=~age,psi=list(age=mean(age)),offs=off.set.term,data=newdat)
So far .. so good! Now I use the predict function to get the predicted values
> predict(fit.2,newdata =newdat,type="link")
1 2 3 4 5
-26.62968 -26.08611 -25.95997 -20.76125 -23.32456
These predicted values are significantly different from the one I obtained using fit.1. Is there something wrong with the predict function in package segmented?
asked 1 min ago
Aucun commentaire:
Enregistrer un commentaire