predict.lmm: Predicted Mean Value With Uncertainty For Linear Mixed Model

Description Usage Arguments Details Value Examples

View source: R/predict.R

Description

Predicted mean value conditional on covariates or on covariates and other outcome values.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
## S3 method for class 'lmm'
predict(
  object,
  newdata,
  se = "estimation",
  df = !is.null(object$df),
  type = "static",
  level = 0.95,
  keep.newdata = FALSE,
  se.fit,
  ...
)

Arguments

object

a lmm object.

newdata

[data.frame] the covariate values for each cluster.

se

[character] Type of uncertainty to be accounted for: estimation of the regression parameters ("estimation"), residual variance ("residual"), or both ("total"). Can also be NULL to not compute standard error, p-values, and confidence intervals.

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 ("static") or also on outcome values at other timepoints ("dynamic"). Can also output the model term ("terms", similarly to stats::predict.lm.

level

[numeric,0-1] the confidence level of the confidence intervals.

keep.newdata

[logical] Should the argument newdata be output along side the predicted values?

se.fit

For internal use. When not missing mimic the output of predict.se. Overwrite argument se.

...

Not used. For compatibility with the generic method.

Details

Static prediction are made using the linear predictor 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β + σ_{21}σ^{-1}_{22}(Y_1-X_1β). In that case, the uncertainty is computed as the sum of the conditional variance σ_{22}-σ_{21}σ^{-1}_{22}σ_{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.

Value

A data.frame with 5 columns:

except when the argument se.fit is specified (see predict.lm for the output format).

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
## 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)

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

LMMstar documentation built on Nov. 5, 2021, 1:07 a.m.