Skip to content

❗ This is a read-only mirror of the CRAN R package repository. MarginalMediation — Marginal Mediation

Notifications You must be signed in to change notification settings

cran/MarginalMediation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CRAN Downloads R build status R-CMD-check

MarginalMediation: v 0.7.3

The MarginalMediation package provides the ability to perform marginal mediation analysis. It provides a useful statistical framework from which to interpret the coefficients in a mediation analysis, especially when the mediator(s) and/or outcome is binary or a count (other types of outcomes will be added).

You can install it via:

install.packages("MarginalMediation")

or

install.packages("remotes")
remotes::install_github("tysonstanley/MarginalMediation")

The main function is mma():

mma(..., ind_effects = c("apath-bpath"))

where ... consists of 2 or more model objects. The first is the b and c' path model, while the others are the a path models.

The ind_effects is a vector of requested mediated paths. These estimates are in terms of the average marginal effects using the a x b method of estimating indirect paths. Any number of these can be included, although it is limited to the number of variables available in the models.

A Quick Example

Below is an example, where the theoretical backing of such a model is not very stable, but it is useful to show how to use the function and the output.

## Data for the example
library(furniture)
data(nhanes_2010)
## The MarginalMediation package
library(MarginalMediation)
#> ℹ Loading MarginalMediation
#> Warning: package 'testthat' was built under R version 4.5.2
#> ── MarginalMediation 0.7.3 ─────────────────── learn more at tysonbarrett.com ──
#> ✔ MarginalMediation attached
#> ✔ No potential conflicts found
pathbc <- glm(
  marijuana ~ home_meals + gender + age + asthma, 
  data = nhanes_2010, 
  family = "binomial"
)
patha <- glm(
  home_meals ~ gender + age + asthma,
  data = nhanes_2010, 
  family = "gaussian"
)
mma(
  pathbc, 
  patha,
  ind_effects = c(
    "genderFemale-home_meals",
    "age-home_meals",
    "asthmaNo-home_meals"),
  boot = 500
)
#> 
#> calculating a paths... b and c paths... Done.                                                                                 
#> ┌───────────────────────────────┐
#> │  Marginal Mediation Analysis  │
#> └───────────────────────────────┘
#> A marginal mediation model with:
#>    1 mediators
#>    3 indirect effects
#>    3 direct effects
#>    500 bootstrapped samples
#>    95% confidence interval
#>    n = 1417 
#> 
#> Formulas:
#>    ◌ marijuana ~ home_meals + gender + age + asthma
#>    ◌ home_meals ~ gender + age + asthma 
#> 
#> Regression Models: 
#> 
#>      marijuana ~ 
#>                           Est      SE   Est/SE P-Value
#>         (Intercept)  -0.39400 0.38028 -1.03608 0.30017
#>         home_meals   -0.04062 0.01363 -2.98051 0.00288
#>         genderFemale  0.43161 0.11723  3.68169 0.00023
#>         age           0.00276 0.01470  0.18754 0.85123
#>         asthmaNo     -0.00717 0.15004 -0.04778 0.96189
#> 
#>      home_meals ~ 
#>                           Est      SE   Est/SE P-Value
#>         (Intercept)   6.56883 0.76462  8.59100 0.00000
#>         genderFemale -1.34831 0.23910 -5.63913 0.00000
#>         age          -0.05689 0.03017 -1.88565 0.05955
#>         asthmaNo     -0.00428 0.31293 -0.01368 0.98909
#> 
#> Unstandardized Mediated Effects: 
#> 
#>    Indirect Effects: 
#> 
#>      marijuana ~ 
#>                                    Indirect    Lower   Upper
#>         genderFemale => home_meals  0.01312  0.00357 0.02435
#>         age => home_meals           0.00055  0.00000 0.00143
#>         asthmaNo => home_meals      0.00004 -0.00652 0.00596
#> 
#>    Direct Effects: 
#> 
#>      marijuana ~ 
#>                        Direct    Lower   Upper
#>         genderFemale  0.10430  0.04950 0.16045
#>         age           0.00066 -0.00652 0.00793
#>         asthmaNo     -0.00172 -0.07896 0.06809

The print method provides:

  1. the individual regression results,
  2. the a paths,
  3. the b paths,
  4. the indirect effect with the confidence interval, and
  5. the direct effect with the confidence interval.

The regressions are in their original (non-AME) units while the indirect and direct effects are in the AME units—the units of the outcome—in this case, risk of using marijuana.

About

❗ This is a read-only mirror of the CRAN R package repository. MarginalMediation — Marginal Mediation

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages