Learn R Programming

misty (version 0.6.7)

multilevel.indirect: Confidence Interval for the Indirect Effect in a 1-1-1 Multilevel Mediation Model

Description

This function computes the confidence interval for the indirect effect in a 1-1-1 multilevel mediation model with random slopes based on the Monte Carlo method.

Usage

multilevel.indirect(a, b, se.a, se.b, cov.ab = 0, cov.rand, se.cov.rand,
                    nrep = 100000, alternative = c("two.sided", "less", "greater"),
                    seed = NULL, conf.level = 0.95, digits = 3, write = NULL,
                    append = TRUE, check = TRUE, output = TRUE)

Value

Returns an object of class misty.object, which is a list with following entries:

call

function call

type

type of analysis

data

list with the input specified in a, b, se.a, se.b, cov.ab, cov.rand, and se.cov.rand

args

specification of function arguments

result

list with result tables, i.e., ab for the simulated ab values and mc for the estimate of the indirect effect and the confidence interval

Arguments

a

a numeric value indicating the coefficient \(a\), i.e., average effect of \(X\) on \(M\) on the cluster or between-group level.

b

a numeric value indicating the coefficient \(b\), i.e., average effect of \(M\) on \(Y\) adjusted for \(X\) on the cluster or between-group level.

se.a

a positive numeric value indicating the standard error of \(a\).

se.b

a positive numeric value indicating the standard error of \(b\).

cov.ab

a positive numeric value indicating the covariance between \(a\) and \(b\).

cov.rand

a positive numeric value indicating the covariance between the random slopes for \(a\) and \(b\).

se.cov.rand

a positive numeric value indicating the standard error of the covariance between the random slopes for \(a\) and \(b\).

nrep

an integer value indicating the number of Monte Carlo repetitions.

alternative

a character string specifying the alternative hypothesis, must be one of "two.sided" (default), "greater" or "less".

seed

a numeric value specifying the seed of the random number generator when using the Monte Carlo method.

conf.level

a numeric value between 0 and 1 indicating the confidence level of the interval.

digits

an integer value indicating the number of decimal places to be used for displaying

write

a character string naming a text file with file extension ".txt" (e.g., "Output.txt") for writing the output into a text file.

append

logical: if TRUE (default), output will be appended to an existing text file with extension .txt specified in write, if FALSE existing text file will be overwritten.

check

logical: if TRUE (default), argument specification is checked.

output

logical: if TRUE (default), output is shown on the console.

Author

Takuya Yanagida takuya.yanagida@univie.ac.at

Details

In statistical mediation analysis (MacKinnon & Tofighi, 2013), the indirect effect refers to the effect of the independent variable \(X\) on the outcome variable \(Y\) transmitted by the mediator variable \(M\). The magnitude of the indirect effect \(ab\) is quantified by the product of the the coefficient \(a\) (i.e., effect of \(X\) on \(M\)) and the coefficient \(b\) (i.e., effect of \(M\) on \(Y\) adjusted for \(X\)). However, mediation in the context of a 1-1-1 multilevel mediation model where variables \(X\), \(M\), and \(Y\) are measured at level 1, the coefficients \(a\) and \(b\) can vary across level-2 units (i.e., random slope). As a result, \(a\) and \(b\) may covary so that the estimate of the indirect effect is no longer simply the product of the coefficients \(\hat{a}\hat{b}\), but \(\hat{a}\hat{b} + \tau_{a,b}\), where \(\tau_{a,b}\) (i.e., cov.rand) is the level-2 covariance between the random slopes \(a\) and \(b\). The covariance term needs to be added to \(\hat{a}\hat{b}\) only when random slopes are estimated for both \(a\) and \(b\). Otherwise, the simple product is sufficient to quantify the indirect effect, and the indirect function can be used instead.

In practice, researchers are often interested in confidence limit estimation for the indirect effect. There are several methods for computing a confidence interval for the indirect effect in a single-level mediation models (see indirect function). The Monte Carlo (MC) method (MacKinnon et al., 2004) is a promising method in single-level mediation model which was also adapted to the multilevel mediation model (Bauer, Preacher & Gil, 2006). This method requires seven pieces of information available from the results of a multilevel mediation model:

a

Coefficient \(a\), i.e., average effect of \(X\) on \(M\) on the cluster or between-group level. In Mplus, Estimate of the random slope \(a\) under Means at the Between Level.

b

Coefficient \(a\), i.e., average effect of \(M\) on \(Y\) on the cluster or between-group level. In Mplus, Estimate of the random slope \(b\) under Means at the Between Level.

se.a

Standard error of a. In Mplus, S.E. of the random slope \(a\) under Means at the Between Level.

se.a

Standard error of a. In Mplus, S.E. of the random slope \(a\) under Means at the Between Level.

cov.ab

Covariance between \(a\) and \(b\). In Mplus, the estimated covariance matrix for the parameter estimates (i.e., asymptotic covariance matrix) need to be requested by specifying TECH3 along with TECH1 in the OUTPUT section. In the TECHNICAL 1 OUTPUT under PARAMETER SPECIFICATION FOR BETWEEN, the numbers of the parameter for the coefficients \(a\) and \(b\) need to be identified under ALPHA to look up cov.av in the corresponding row and column in the TECHNICAL 3 OUTPUT under ESTIMATED COVARIANCE MATRIX FOR PARAMETER ESTIMATES.

cov.rand

Covariance between the random slopes for \(a\) and \(b\). In Mplus, Estimate of the covariance \(a\) WITH \(b\) at the Between Level

.
se.cov.rand

Standard error of the covariance between the random slopes for \(a\) and \(b\). In Mplus, S.E. of the covariance \(a\) WITH \(b\) at the Between Level

.

Note that all pieces of information except cov.ab can be looked up in the standard output of the multilevel mediation model. In order to specify cov.ab, the covariance matrix for the parameter estimates (i.e., asymptotic covariance matrix) is required. In practice, cov.ab will oftentimes be very small so that cov.ab may be set to 0 (i.e., default value) with negligible impact on the results.

References

Bauer, D. J., Preacher, K. J., & Gil, K. M. (2006). Conceptualizing and testing random indirect effects and moderated Mediation in multilevel models: New procedures and recommendations. Psychological Methods, 11, 142-163. https://doi.org/10.1037/1082-989X.11.2.142

Kenny, D. A., Korchmaros, J. D., & Bolger, N. (2003). Lower level Mediation in multilevel models. Psychological Methods, 8, 115-128. https://doi.org/10.1037/1082-989x.8.2.115

MacKinnon, D. P., Lockwood, C. M., & Williams, J. (2004). Confidence limits for the indirect effect: Distribution of the product and resampling methods. Multivariate Behavioral Research, 39, 99-128. https://doi.org/10.1207/s15327906mbr3901_4

MacKinnon, D. P., & Tofighi, D. (2013). Statistical mediation analysis. In J. A. Schinka, W. F. Velicer, & I. B. Weiner (Eds.), Handbook of psychology: Research methods in psychology (pp. 717-735). John Wiley & Sons, Inc..

Preacher, K. J., & Selig, J. P. (2010). Monte Carlo method for assessing multilevel Mediation: An interactive tool for creating confidence intervals for indirect effects in 1-1-1 multilevel models [Computer software]. Available from http://quantpsy.org/.

See Also

indirect

Examples

Run this code
if (FALSE) {
# Example 1: Confidence Interval for the Indirect Effect
multilevel.indirect(a = 0.25, b = 0.20, se.a = 0.11, se.b = 0.13,
                    cov.ab = 0.01, cov.rand = 0.40, se.cov.rand = 0.02)

# Example 2: Save results of the Monte Carlo method
ab <- multilevel.indirect(a = 0.25, b = 0.20, se.a = 0.11, se.b = 0.13,
                          cov.ab = 0.01, cov.rand = 0.40, se.cov.rand = 0.02,
                          output = FALSE)$result$ab

# Histogram of the distribution of the indirect effect
hist(ab)

# Example 3: Write results into a text file
multilevel.indirect(a = 0.25, b = 0.20, se.a = 0.11, se.b = 0.13,
                    cov.ab = 0.01, cov.rand = 0.40, se.cov.rand = 0.02,
                    write = "ML-Indirect.txt")
}

Run the code above in your browser using DataLab