Learn R Programming

robustbase (version 0.92-5)

predict.glmrob: Predict Method for Robust GLM ("glmrob") Fits

Description

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

Usage

## S3 method for class 'glmrob':
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 "glmrob".
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-odd
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.
...
optional further arguments, currently simply passed to predict.lmrob().

Value

  • If se = FALSE, a vector or matrix of predictions. If se = TRUE, a list with components
  • fitPredictions
  • se.fitEstimated standard errors
  • residual.scaleA scalar giving the square root of the dispersion used in computing the standard errors.

See Also

glmrob() to fit these robust GLM models, residuals.glmrob() and other methods; predict.lm(), the method used for a non-robust fit.

Examples

Run this code
data(carrots)
## simplistic testing & training:
i.tr <- sample(24, 20)
fm1 <- glmrob(cbind(success, total-success) ~ logdose + block,
              family = binomial, data = carrots, subset = i.tr)
fm1
predict(fm1, carrots[-i.tr, ]) # --> numeric vector
predict(fm1, carrots[-i.tr, ],
        type="response", se = TRUE)# -> a list

data(vaso)
Vfit <- glmrob(Y ~ log(Volume) + log(Rate), family=binomial, data=vaso)
newd <- expand.grid(Volume = (V. <- seq(.5, 4, by = 0.5)),
                    Rate   = (R. <- seq(.25,4, by = 0.25)))
p <- predict(Vfit, newd)
filled.contour(V., R., matrix(p, length(V.), length(R.)),
      main = "predict(glmrob(., data=vaso))", xlab="Volume", ylab="Rate")

Run the code above in your browser using DataLab