predict.glm              package: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 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 '"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.

Value:

     If 'se = FALSE', a vector or matrix 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.

See Also:

     'glm', 'SafePrediction'

Examples:

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

