data(oil)
# Poisson fit
model1 <- glm(y ~ treat, family=poisson, data=oil)
anova(model1, test="Chisq")
sum(resid(model1, ty="pearson")^2)
# Quasi-Poisson fit
model2 <- glm(y ~ treat, family=quasipoisson, data=oil)
summary(model2)
anova(model2,test="F")
summary(model2)$dispersion
# Negative binomial fit
require(MASS)
model3 <- glm.nb(y ~ treat, data=oil)
thetahat <- summary(model3)$theta
anova(model3, test="F")
# half-normal plots
par(mfrow=c(1,3),cex=1.4, cex.main=0.9)
hnp(model1,pch=4, main="(a) Poisson",
xlab="Half-normal scores", ylab="Deviance residuals")
hnp(model2,pch=4, main="(b) Quasi-Poisson",
xlab="Half-normal scores", ylab='')
hnp(model3,pch=4, main="(c) Negative binomial",
xlab="Half-normal scores", ylab='')
if (FALSE) {
# using aods3
require(aods3)
model3b <- aodml(y ~ treat, family="nb", phi.scale="inverse",
fixpar=list(8, 1.086148), data=oil)
hnp(model3b)
}
## for discussion on the analysis of this data set,
## see Demetrio et al. (2014)
Run the code above in your browser using DataLab