## 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]