predict.glm {stats} | R Documentation

## Predict Method for GLM Fits

### Description

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

### Usage

    ## S3 method for class 'glm'
    predict(object, newdata = NULL,
                type = c("link", "response", "terms"),
                se.fit = FALSE, dispersion = NULL, terms = NULL,
                na.action = na.pass, ...)

### Arguments

`object` | a fitted object of class inheriting from `"glm"`.
`newdata` | optionally, a data frame in which to look for variables with which to predict. 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 `"response"` 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 `"terms"` option returns a matrix giving the fitted values of each term in the model formula on the linear predictor scale.

The value of this argument can be abbreviated.

`se.fit` | logical 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.
`terms` | with `type = "terms"` by default all terms are returned. A character vector specifies which terms are to be returned
`na.action` | function determining what should be done with missing values in `newdata`. The default is to predict `NA`.
`...` | further arguments passed to or from other methods.

### Details

If `newdata` is omitted the predictions are based on the data used for the fit. In that case how cases with missing values in the original fit is determined by the `na.action` argument of that fit. If `na.action = na.omit` omitted cases will not appear in the residuals, whereas if `na.action = na.exclude` they will appear (in predictions and standard errors), with residual value `NA`. See also `napredict`.

### Value

If `se.fit = FALSE`, a vector or matrix of predictions. For `type = "terms"` this is a matrix with a column per term, and may have an attribute `"constant"`.

If `se.fit = TRUE`, a list with components

`fit` | Predictions, as for `se.fit = FALSE`.
`se.fit` | Estimated standard errors.
`residual.scale` | A scalar giving the square root of the dispersion used in computing the standard errors.

### Note

Variables are first looked for in `newdata` and then searched for in the usual way (which will include the environment of the formula used in the fit). A warning will be given if the variables found are not of the same length as those in `newdata` if it was supplied.

### See Also

`glm`, `SafePrediction`

### Examples

    require(graphics)

    ## example from Venables and Ripley (2002, pp. 190-2.)
    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 stats version 3.3.0 Index]