Predict Method for GLM Fits

Usage

predict.glm(object, newdata=NULL, type=c("link", "response"),
            se.fit=FALSE, dispersion=NULL, ...)

Arguments

object A fitted object of class inheriting from "glm".
newdata Optionally, a new data frame from which to make the predictions. If omitted, the fitted linear predictors are used.
type The type of prediction required. The default is on the scale of the linear predictors; the alternative is on the scale of the response variable. Thus for a default binomial model the default predictions are of log-odds (probabilities on logit scale) and type = "response" gives the predicted probabilities.

The value of this argument can be abbreviated.

se.fit A switch indicating if standard errors are required.
dispersion The dispersion of the GLM fit to be assumed in computing the standard errors. If omitted, that returned by summary applied to the object is used.

Description

Obtains predictions and optionally estimates standard errors of those predictions from a fitted generalized linear model object.

Value

If se = FALSE, a vector of predictions. If se = TRUE, a list with components
fit Predictions
se.fit Estimated standard errors
residual.scale A scalar giving the square root of the dispersion used in computing the standard errors.

Note

This method is also currently used for objects of class "survreg" (parametric survival fits from package survival4) and possibly others. The assumptions made by predict.glm may not always be right for such objects.

Author(s)

B.D. Ripley

See Also

glm

Examples

## example from Venables and Ripley (1997, pp. 231-3.)
ldose <- rep(0:5, 2)
numdead <- c(1, 4, 9, 13, 18, 20, 0, 2, 6, 10, 12, 16)
sex <- factor(rep(c("M", "F"), c(6, 6)))
SF <- cbind(numdead, numalive=20-numdead)
budworm.lg <- glm(SF ~ sex*ldose, family=binomial)
summary(budworm.lg)

plot(c(1,32), c(0,1), type="n", xlab="dose",
   ylab="prob", log="x")
text(2^ldose, numdead/20,as.character(sex))
ld <- seq(0, 5, 0.1)
lines(2^ld, predict(budworm.lg, data.frame(ldose=ld,
   sex=factor(rep("M", length(ld)), levels=levels(sex))),
   type="response"))
lines(2^ld, predict(budworm.lg, data.frame(ldose=ld,
   sex=factor(rep("F", length(ld)), levels=levels(sex))),
   type="response"))


[Package Contents]