Obtains predictions and optionally estimates standard errors of those predictions from a fitted robust generalized linear model (GLM) object.
# S3 method for glmrob
predict(object, newdata = NULL,
type = c("link", "response", "terms"), se.fit = FALSE,
dispersion = NULL, terms = NULL, na.action = na.pass, …)
a fitted object of class inheriting from "glmrob"
.
optionally, a data frame in which to look for variables with which to predict. If omitted, the fitted linear predictors are used.
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.
logical switch indicating if standard errors are required.
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.
with type="terms"
by default all terms are returned.
A character vector specifies which terms are to be returned
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()
.
If se = FALSE
, a vector or matrix of predictions.
If se = TRUE
, a list with components
Predictions
Estimated standard errors
A scalar giving the square root of the dispersion used in computing the standard errors.
glmrob()
to fit these robust GLM models,
residuals.glmrob()
and other methods;
predict.lm()
, the method used for a non-robust fit.
# NOT RUN {
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
# }
# NOT RUN {
<!-- % FIXME: gives a "bad" error -- should rather say "not yet implemented" -->
# }
# NOT RUN {
<!-- % or implement it ! -->
# }
# NOT RUN {
<!-- % predict(fm1, carrots[-i.tr, ], interval = "confidence") -->
# }
# NOT RUN {
<!-- % predict(fm1, carrots[-i.tr, ], interval = "prediction") -->
# }
# NOT RUN {
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