-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME.Rmd
96 lines (72 loc) · 3.25 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
---
output: github_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)
set.seed(84322)
```
<!-- badges: start -->
[![CRAN](https://www.r-pkg.org/badges/version/MarginalMediation)](https://www.r-pkg.org/badges/version/MarginalMediation)
[![Downloads](http://cranlogs.r-pkg.org/badges/grand-total/MarginalMediation)](https://cranlogs.r-pkg.org/badges/grand-total/MarginalMediation)
[![R build status](https://github.com/TysonStanley/MarginalMediation/workflows/R-CMD-check/badge.svg)](https://github.com/TysonStanley/MarginalMediation/actions)
[![R-CMD-check](https://github.com/TysonStanley/MarginalMediation/workflows/R-CMD-check/badge.svg)](https://github.com/TysonStanley/MarginalMediation/actions)
<!-- badges: end -->
# MarginalMediation: `v 0.7.2` <img src="man/figures/mma_hex.jpg" align="right" width="30%" height="30%"/>
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:
```{r, eval=FALSE}
install.packages("MarginalMediation")
```
or
```{r, eval=FALSE}
install.packages("remotes")
remotes::install_github("tysonstanley/MarginalMediation")
```
The main function is `mma()`:
```{r, eval=FALSE}
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.
```{r}
## Data for the example
library(furniture)
data(nhanes_2010)
```
```{r, eval = FALSE}
## The MarginalMediation package
library(MarginalMediation)
```
```{r, echo = FALSE}
devtools::load_all()
```
```{r}
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)
```
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.
### Conclusions
Let me know if you find any bugs or want to discuss the method (<t.barrett@aggiemail.usu.edu>).