mediation_analysis function

Mediation analysis

Mediation analysis

Conducts a mediation analysis to estimate an independent variable's indirect effect on dependent variable through a mediator variable. The current version of the package only supports a simple mediation model consisting of one independent variable, one mediator variable, and one dependent variable.

mediation_analysis( data = NULL, iv_name = NULL, mediator_name = NULL, dv_name = NULL, covariates_names = NULL, robust_se = TRUE, iterations = 1000, sigfigs = 3, output_type = "summary_dt", silent = FALSE )

Arguments

  • data: a data object (a data frame or a data.table)
  • iv_name: name of the independent variable
  • mediator_name: name of the mediator variable
  • dv_name: name of the dependent variable
  • covariates_names: names of covariates to control for
  • robust_se: if TRUE, heteroskedasticity-consistent standard errors will be used in quasi-Bayesian simulations. By default, it will be set as FALSE if nonparametric bootstrap is used and as TRUE if quasi-Bayesian approximation is used.
  • iterations: number of bootstrap samples. The default is set at 1000, but consider increasing the number of samples to 5000, 10000, or an even larger number, if slower handling time is not an issue.
  • sigfigs: number of significant digits to round to
  • output_type: if output_type = "summary_dt", return the summary data.table; if output_type = "mediate_output", return the output from the mediate function in the 'mediate' package; if output_type = "indirect_effect_p", return the p value associated with the indirect effect estimated in the mediation model (default = "summary_dt")
  • silent: if silent = FALSE, mediation analysis summary, estimation method, sample size, and number of simulations will be printed; if silent = TRUE, nothing will be printed. (default = FALSE)

Returns

if output_type = "summary_dt", which is the default, the output will be a data.table showing a summary of mediation analysis results; if output_type = "mediate_output", the output will be the output from the mediate function in the 'mediate' package; if output_type = "indirect_effect_p", the output will be the p-value associated with the indirect effect estimated in the mediation model (a numeric vector of length one).

Details

This function requires installing Package 'mediation' v4.5.0 (or possibly a higher version) by Tingley et al. (2019), and uses the source code from a function in the package. https://cran.r-project.org/package=mediation

Examples

mediation_analysis( data = mtcars, iv_name = "cyl", mediator_name = "disp", dv_name = "mpg", iterations = 100 ) mediation_analysis( data = iris, iv_name = "Sepal.Length", mediator_name = "Sepal.Width", dv_name = "Petal.Length", iterations = 100 )