# predict.glm {stats}

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

.

### Values

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"))

Documentation reproduced from R 3.0.2. License: GPL-2.