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. RipleySee Also
glmExamples
## 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"))