Calculate minimal detectable slope for mediator given sample size and power in logistic regression based on Vittinghoff, Sen and McCulloch's (2009) method.

1 2 3 4 5 6 7 | ```
minEffect.VSMc.logistic(n,
power,
sigma.m,
p,
corr.xm,
alpha = 0.05,
verbose = TRUE)
``` |

`n` |
sample size. |

`power` |
power for testing |

`sigma.m` |
standard deviation of the mediator. |

`p` |
the marginal prevalence of the outcome. |

`corr.xm` |
correlation between the predictor |

`alpha` |
type I error rate. |

`verbose` |
logical. |

The test is for testing the null hypothesis *b_2=0*
versus the alternative hypothesis *b_2\neq 0*
for the logistic regressions:

*
\log(p_i/(1-p_i))=b_0+b_1 x_i + b_2 m_i
*

Vittinghoff et al. (2009) showed that for the above logistic regression, testing the mediation effect
is equivalent to testing the null hypothesis *H_0: b_2=0*
versus the alternative hypothesis *H_a: b_2\neq 0*, if the
correlation `corr.xm`

between the primary predictor and mediator is non-zero.

The full model is

*
\log(p_i/(1-p_i))=b_0+b_1 x_i + b_2 m_i
*

The reduced model is

*
\log(p_i/(1-p_i))=b_0+b_1 x_i
*

Vittinghoff et al. (2009) mentioned that if confounders need to be included
in both the full and reduced models, the sample size/power calculation formula
could be accommodated by redefining `corr.xm`

as the multiple
correlation of the mediator with the confounders as well as the predictor.

`b2 ` |
minimum absolute detectable effect. |

`res.uniroot ` |
results of optimization to find the optimal sample size. |

The test is a two-sided test. Code for one-sided tests will be added later.

Weiliang Qiu stwxq@channing.harvard.edu

Vittinghoff, E. and Sen, S. and McCulloch, C.E..
Sample size calculations for evaluating mediation.
*Statistics In Medicine*. 2009;28:541-557.

`powerMediation.VSMc.logistic`

,
`ssMediation.VSMc.logistic`

1 2 3 4 5 | ```
# example in section 4 (page 545) of Vittinghoff et al. (2009).
# minimum effect is log(1.5)= 0.4054651
minEffect.VSMc.logistic(n = 255, power = 0.8, sigma.m = 1,
p = 0.5, corr.xm = 0.5, alpha = 0.05, verbose = TRUE)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.