View source: R/multilevel.r2.manual.R
multilevel.r2.manual | R Documentation |
This function computes R-squared measures by Rights and Sterba (2019) for multilevel and linear mixed effects models by manually inputting parameter estimates.
multilevel.r2.manual(data, within = NULL, between = NULL, random = NULL,
gamma.w = NULL, gamma.b = NULL, tau, sigma2,
intercept = TRUE, center = TRUE, digits = 3,
plot = FALSE, gray = FALSE, start = 0.15, end = 0.85,
color = c("#D55E00", "#0072B2", "#CC79A7", "#009E73", "#E69F00"),
write = NULL, append = TRUE, check = TRUE, output = TRUE)
data |
a matrix or data frame with the level-1 and level-2 predictors and outcome variable used in the model. |
within |
a character vector with the variable names in |
between |
a character vector with the variable names in |
random |
a character vector with the variable names in |
gamma.w |
a numeric vector of fixed slope estimates for all level-1
predictors, to be entered in the order of the predictors
listed in the argument |
gamma.b |
a numeric vector of the intercept and fixed slope estimates
for all level-2predictors, to be entered in the order of the
predictors listed in the argument |
tau |
a matrix indicating the random effects covariance matrix, the
first row/column denotes the intercept variance and covariances
(if intercept is fixed, set all to 0) and each subsequent
row/column denotes a given random slope's variance and covariances
(to be entered in the order listed in the argument |
sigma2 |
a numeric value indicating the level-1 residual variance. |
intercept |
logical: if |
center |
logical: if |
digits |
an integer value indicating the number of decimal places to be used. |
plot |
logical: if |
gray |
logical: if |
start |
a numeric value between 0 and 1, graphical parameter to specify the gray value at the low end of the palette. |
end |
a numeric value between 0 and 1, graphical parameter to specify the gray value at the high end of the palette. |
color |
a character vector, graphical parameter indicating the color of bars in the bar chart in the following order: Fixed slopes (Within), Fixed slopes (Between), Slope variation (Within), Intercept variation (Between), and Residual (Within). By default, colors from the colorblind-friendly palettes are used. |
write |
a character string naming a text file with file extension
|
append |
logical: if |
check |
logical: if |
output |
logical: if |
A number of R-squared measures for multilevel and linear mixed effects models
have been developed in the methodological literature (see Rights & Sterba, 2018).
R-squared measures by Rights and Sterba (2019) provide an integrative framework
of R-squared measures for multilevel and linear mixed effects models with random
intercepts and/or slopes. Their measures are based on partitioning model implied
variance from a single fitted model, but they provide a full partitioning of
the total outcome variance to one of five specific sources. See the help page
of the multilevel.r2
function for more details.
Returns an object of class misty.object
, which is a list with following
entries:
call |
function call |
type |
type of analysis |
data |
matrix or data frame specified in |
plot |
ggplot2 object for plotting the results |
args |
specification of function arguments |
result |
list with result tables, i.e., |
for the between-cluster R2 measures.
This function is based on a copy of the function r2mlm_manual()
in the
r2mlm package by Mairead Shaw, Jason Rights, Sonya Sterba, and Jessica
Flake.
Jason D. Rights, Sonya K. Sterba, Jessica K. Flake, and Takuya Yanagida
Rights, J. D., & Cole, D. A. (2018). Effect size measures for multilevel models in clinical child and adolescent research: New r-squared methods and recommendations. Journal of Clinical Child and Adolescent Psychology, 47, 863-873. https://doi.org/10.1080/15374416.2018.1528550
Rights, J. D., & Sterba, S. K. (2019). Quantifying explained variance in multilevel models: An integrative framework for defining R-squared measures. Psychological Methods, 24, 309-338. https://doi.org/10.1037/met0000184
multilevel.r2
, multilevel.cor
,
multilevel.descript
, multilevel.icc
,
multilevel.indirect
## Not run:
# Load misty, lme4, nlme, and ggplot2 package
library(misty)
library(lme4)
# Load data set "Demo.twolevel" in the lavaan package
data("Demo.twolevel", package = "lavaan")
#-------------------------------------------------------------------------------
# Cluster mean centering, center() from the misty package
Demo.twolevel$x2.c <- center(Demo.twolevel$x2, type = "CWC",
cluster = Demo.twolevel$cluster)
# Compute group means, cluster.scores() from the misty package
Demo.twolevel$x2.b <- cluster.scores(Demo.twolevel$x2,
cluster = Demo.twolevel$cluster)
# Estimate random intercept model using the lme4 package
mod1 <- lmer(y1 ~ x2.c + x2.b + w1 + (1| cluster), data = Demo.twolevel,
REML = FALSE, control = lmerControl(optimizer = "bobyqa"))
# Estimate random intercept and slope model using the lme4 package
mod2 <- lmer(y1 ~ x2.c + x2.b + w1 + (1 + x2.c | cluster), data = Demo.twolevel,
REML = FALSE, control = lmerControl(optimizer = "bobyqa"))
#-------------------------------------------------------------------------------
# Example 1: Random intercept model
# Fixed slope estimates
fixef(mod1)
# Random effects variance-covariance matrix
as.data.frame(VarCorr(mod1))
# R-squared measures according to Rights and Sterba (2019)
multilevel.r2.manual(data = Demo.twolevel,
within = "x2.c", between = c("x2.b", "w1"),
gamma.w = 0.41127956,
gamma.b = c(0.01123245, -0.08269374, 0.17688507),
tau = 0.9297401,
sigma2 = 1.813245794)
#-------------------------------------------------------------------------------
# Example 2: Random intercept and slope model
# Fixed slope estimates
fixef(mod2)
# Random effects variance-covariance matrix
as.data.frame(VarCorr(mod2))
# R-squared measures according to Rights and Sterba (2019)
multilevel.r2.manual(data = Demo.twolevel,
within = "x2.c", between = c("x2.b", "w1"), random = "x2.c",
gamma.w = 0.41127956,
gamma.b = c(0.01123245, -0.08269374, 0.17688507),
tau = matrix(c(0.931008649, 0.004110479, 0.004110479, 0.017068857), ncol = 2),
sigma2 = 1.813245794)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.