# Sample size for testing mediation effect in poisson regression based on Vittinghoff, Sen and McCulloch's (2009) method

### Description

Calculate sample size for testing mediation effect in poisson regression based on Vittinghoff, Sen and McCulloch's (2009) method.

### Usage

1 2 3 4 5 6 7 8 9 | ```
ssMediation.VSMc.poisson(power,
b2,
sigma.m,
EY,
corr.xm,
n.lower = 1,
n.upper = 1e+30,
alpha = 0.05,
verbose = TRUE)
``` |

### Arguments

`power` |
power for testing |

`b2` |
regression coefficient for the mediator |

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

`EY` |
the marginal mean of the outcome. |

`corr.xm` |
correlation between the predictor |

`n.lower` |
lower bound for the sample size. |

`n.upper` |
upper bound for the sample size. |

`alpha` |
type I error rate. |

`verbose` |
logical. |

### Details

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

*
\log(E(Y_i))=b_0+b_1 x_i + b_2 m_i
*

Vittinghoff et al. (2009) showed that for the above poisson 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*.

The full model is

*
\log(E(Y_i))=b_0+b_1 x_i + b_2 m_i
*

The reduced model is

*
\log(E(Y_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.

### Value

`n ` |
sample size. |

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

### Note

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

### Author(s)

Weiliang Qiu stwxq@channing.harvard.edu

### References

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

### See Also

`minEffect.VSMc.poisson`

,
`powerMediation.VSMc.poisson`

### Examples

1 2 3 4 5 | ```
# example in section 5 (page 546) of Vittinghoff et al. (2009).
# n = 1239
ssMediation.VSMc.poisson(power = 0.7998578, b2 = log(1.35),
sigma.m = sqrt(0.25 * (1 - 0.25)), EY = 0.5, corr.xm = 0.5,
alpha = 0.05, verbose = TRUE)
``` |