indirect_proportion: Proportion of Effect Mediated

View source: R/indirect_proportion.R

indirect_proportionR Documentation

Proportion of Effect Mediated

Description

It computes the proportion of effect mediated along a pathway.

Usage

indirect_proportion(x, y, m = NULL, fit = NULL)

Arguments

x

The name of the x variable. Must be supplied as a quoted string.

y

The name of the y variable. Must be supplied as a quoted string.

m

A vector of the variable names of the mediator(s). The path goes from the first mediator successively to the last mediator. Cannot be NULL for this function.

fit

The fit object. Can be a lavaan::lavaan object or a list of lm() outputs. It can also be a lavaan.mi object returned by semTools::runMI() or its wrapper, such as semTools::sem.mi().

Details

The proportion of effect mediated along a path from x to y is the indirect effect along this path divided by the total effect from x to y (Alwin & Hauser, 1975). This total effect is equal to the sum of all indirect effects from x to y and the direct effect from x to y.

To ensure that the proportion can indeed be interpreted as a proportion, this function computes the the proportion only if the signs of all the indirect and direct effects from x to y are same (i.e., all effects positive or all effects negative).

Value

An indirect_proportion class object. It is a list-like object with these major elements:

  • proportion: The proportion of effect mediated.

  • x: The name of the x-variable.

  • y: The name of the y-variable.

  • m: A character vector of the mediator(s) along a path. The path runs from the first element to the last element.

This class has a print method and a coef method.

References

Alwin, D. F., & Hauser, R. M. (1975). The decomposition of effects in path analysis. American Sociological Review, 40(1), 37. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.2307/2094445")}

See Also

print.indirect_proportion() for the print method, and coef.indirect_proportion() for the coef method.

Examples


library(lavaan)
dat <- data_med
head(dat)
mod <-
"
m ~ x + c1 + c2
y ~ m + x + c1 + c2
"
fit <- sem(mod, dat, fixed.x = FALSE)
out <- indirect_proportion(x = "x",
                           y = "y",
                           m = "m",
                           fit = fit)
out


manymome documentation built on Oct. 4, 2024, 5:10 p.m.