predict.JointAI {JointAI} | R Documentation |
Predict values from an object of class JointAI
Description
Obtains predictions and corresponding credible intervals from an object of class 'JointAI'.
Usage
## S3 method for class 'JointAI'
predict(object, outcome = 1L, newdata,
quantiles = c(0.025, 0.975), type = "lp", start = NULL, end = NULL,
thin = NULL, exclude_chains = NULL, mess = TRUE, warn = TRUE,
return_sample = FALSE, ...)
Arguments
object |
object inheriting from class 'JointAI' |
outcome |
vector of variable names or integers identifying for which outcome(s) the prediction should be performed. |
newdata |
optional new dataset for prediction. If left empty, the original data is used. |
quantiles |
quantiles of the predicted distribution of the outcome |
type |
the type of prediction. The default is on the scale of the linear
predictor ( |
start |
the first iteration of interest
(see |
end |
the last iteration of interest
(see |
thin |
thinning interval (integer; see |
exclude_chains |
optional vector of the index numbers of chains that should be excluded |
mess |
logical; should messages be given? Default is
|
warn |
logical; should warnings be given? Default is
|
return_sample |
logical; should the full sample on which the summary (mean and quantiles) is calculated be returned?#' |
... |
currently not used |
Details
A model.matrix
X
is created from the model formula
(currently fixed effects only) and newdata
. X\beta
is then
calculated for each iteration of the MCMC sample in object
, i.e.,
X\beta
has n.iter
rows and nrow(newdata)
columns. A
subset of the MCMC sample can be selected using start
, end
and thin
.
Value
A list with entries dat
, fit
and quantiles
,
where fit
contains the predicted values (mean over the values
calculated from the iterations of the MCMC sample), quantiles
contain the specified quantiles (by default 2.5% and 97.5%), and dat
is newdata
, extended with fit
and quantiles
(unless
prediction for an ordinal outcome is done with type = "prob"
, in
which case the quantiles are an array with three dimensions and are
therefore not included in dat
).
Note
So far,
predict
cannot calculate predicted values for cases with missing values in covariates. Predicted values for such cases areNA
.For repeated measures models prediction currently only uses fixed effects.
Functionality will be extended in the future.
See Also
Examples
# fit model
mod <- lm_imp(y ~ C1 + C2 + I(C2^2), data = wideDF, n.iter = 100)
# calculate the fitted values
fit <- predict(mod)
# create dataset for prediction
newDF <- predDF(mod, vars = ~ C2)
# obtain predicted values
pred <- predict(mod, newdata = newDF)
# plot predicted values and 95% confidence band
matplot(newDF$C2, pred$fitted, lty = c(1, 2, 2), type = "l", col = 1,
xlab = 'C2', ylab = 'predicted values')