R/randcov_matrix.R

Defines functions randcov_matrix

#' Create a random effects covariance matrix
#'
#' @param randcov_params A \code{randcov_params} object
#' @param randcov_Zs Random effects design matrices
#'
#' @return A random effects covariance matrix
#'
#' @noRd
randcov_matrix <- function(randcov_params = NULL, randcov_Zs = NULL) {
  if (is.null(randcov_params)) {
    randcov_matrix_val <- NULL
  } else {
    randcov_names <- names(randcov_params)
    # var times ZZt
    randcov_matrices <- lapply(randcov_names, function(x) randcov_params[[x]] * randcov_Zs[[x]][["ZZt"]])
    randcov_matrix_val <- Reduce("+", randcov_matrices)
  }
  randcov_matrix_val
}

Try the spmodel package in your browser

Any scripts or data that you put into this service are public.

spmodel documentation built on April 4, 2025, 1:39 a.m.