predict.lmm | R Documentation |
Predicted mean value conditional on covariates or on covariates and other outcome values.
## S3 method for class 'lmm'
predict(
object,
newdata,
p = NULL,
se = "estimation",
df = !is.null(object$df),
type = "static",
level = 0.95,
keep.newdata = FALSE,
format = "long",
simplify = TRUE,
...
)
object |
a |
newdata |
[data.frame] the covariate values for each cluster. |
p |
[numeric vector] value of the model coefficients at which to evaluate the predictions. Only relevant if differs from the fitted values. |
se |
[character] Type of uncertainty to be accounted for: estimation of the regression parameters ( |
df |
[logical] Should a Student's t-distribution be used to model the distribution of the predicted mean. Otherwise a normal distribution is used. |
type |
[character] Should prediction be made conditional on the covariates only ( |
level |
[numeric,0-1] the confidence level of the confidence intervals. |
keep.newdata |
[logical] Should the dataset relative to which the predicted means are evaluated be output along side the predicted values? Only possible in the long format. |
format |
[character] Should the prediction be output
in a matrix format with clusters in row and timepoints in columns ( |
simplify |
[logical] Simplify the data format (vector instead of data.frame) and column names (no mention of the time variable) when possible. |
... |
Not used. For compatibility with the generic method. |
Static prediction are made using the linear predictor X\beta
while dynamic prediction uses the conditional normal distribution of the missing outcome given the observed outcomes. So if outcome 1 is observed but not 2, prediction for outcome 2 is obtain by X_2\beta + \sigma_{21}\sigma^{-1}_{22}(Y_1-X_1\beta)
. In that case, the uncertainty is computed as the sum of the conditional variance \sigma_{22}-\sigma_{21}\sigma^{-1}_{22}\sigma_{12}
plus the uncertainty about the estimated conditional mean (obtained via delta method using numerical derivatives).
The model terms are computing by centering the design matrix around the mean value of the covariates used to fit the model. Then the centered design matrix is multiplied by the mean coefficients and columns assigned to the same variable (e.g. three level factor variable) are summed together.
When format="long"
, a data.frame containing the following columns:
estimate
: predicted mean.
se
: uncertainty about the predicted mean.
df
: degree of freedom
lower
: lower bound of the confidence interval of the predicted mean
upper
: upper bound of the confidence interval of the predicted mean
When format="wide"
, a matrix containing the predict means (one line per cluster, one column per timepoint).
## simulate data in the long format
set.seed(10)
dL <- sampleRem(100, n.times = 3, format = "long")
## fit Linear Mixed Model
eUN.lmm <- lmm(Y ~ visit + X1 + X2 + X5,
repetition = ~visit|id, structure = "UN", data = dL)
## prediction
newd <- data.frame(X1 = 1, X2 = 2, X5 = 3, visit = factor(1:3, levels = 1:3))
predict(eUN.lmm, newdata = newd)
predict(eUN.lmm, newdata = newd, keep.newdata = TRUE)
predict(eUN.lmm, newdata = newd, keep.newdata = TRUE, se = "total")
## dynamic prediction
newd.d1 <- cbind(newd, Y = c(NA,NA,NA))
predict(eUN.lmm, newdata = newd.d1, keep.newdata = TRUE, type = "dynamic")
newd.d2 <- cbind(newd, Y = c(6.61,NA,NA))
predict(eUN.lmm, newdata = newd.d2, keep.newdata = TRUE, type = "dynamic")
newd.d3 <- cbind(newd, Y = c(1,NA,NA))
predict(eUN.lmm, newdata = newd.d3, keep.newdata = TRUE, type = "dynamic")
newd.d4 <- cbind(newd, Y = c(1,1,NA))
predict(eUN.lmm, newdata = newd.d4, keep.newdata = TRUE, type = "dynamic")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.