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