Power/Sample Size Calculation for Mediation Analysis

Functions to calculate power and sample size for testing (1) mediation effects; (2) the slope in a simple linear regression; (3) odds ratio in a simple logistic regression; (4) mean change for longitudinal study with 2 time points; (5) interaction effect in 2-way ANOVA; and (6) the slope in a simple Poisson regression.


v0.2.4 (powerMediation) May. 7, 2015 (1) add functions 'sizePoission' and 'powerPoisson' for simple Poisson regression (2) make notation consistent in online document for the functions 'powerMediation.Sobel' and 'ssMediation.Sobel' v0.2.1 (powerMediation) Feb. 20, 2015 (1) add documents for functions: 'powerInteract' 'powerLong.multiTime', and 'ssLong.multiTime' (2) fixed 1 bug in calculating 'powerLong.multiTime': should use qnorm(1-alpha), not qnorm(1-alpha/2) (3) output round up sample size per group

v0.2.0 (powerMediation) Jan. 07, 2015 (1) Dr. ToRe Wentzel-Larsen (tore.wentzellarsen@gmail.com) kindly pointed out that the interpretation of OR in the functions 'powerLogisticCon' and 'SSizeLogisticCon.Rd' is not correct. The followings are his e-mail on Jan 2, 2015. Based on Dr. ToRe Wentzel-Larsen's suggestion, I added one phase '\eqn{\log(OR)} is the change in log odds for an increase of one unit in \eqn{X}.' to the interpretation of OR.

Dear Weiliang Qiu, The formula in the documentation for this function is the same as formula (1) in the cited article by Hsieh et. al. (with beta^star written as log of the OR) However, in formula (1) in the article beta^star is not simply a regression coefficient under the alternative hypothesis, but a standardized effect size, see e. g. Appendix 1 and the Example in the article. This means that the OR has to be stated per a one standard deviation difference in the continuous independent variable in question. Perhaps that could be explicitly stated in the documentation for powerLogisticCon, since if not some users may erroneously use powerLogisticCon with the OR per one unit difference of the independent variable (although it is fairly obvious that some standardization is needed in powerLogisticCon, if not the computed power will differ as to whether the independent variable is measured in e. g. USD or 1000 USD).
Best regards, ToRe Wentzel-Larsen

v0.1.9 (powerMediation) Dec. 06, 2013 (1) added functions 'powerLong.multiTime' and 'ssLong.multiTime' v0.1.8 (powerMediation) Dec. 04, 2013 (1) added function 'powerInteract'

v0.1.7 (powerMediation) Nov. 08, 2013 (1) fixed a 'NOTE': line too widths in some Rd file e.g. 'ss.SLR.Rd' v0.1.6 (powerMediation) Nov. 08, 2013 (1) submit to CRAN v0.1.5 (powerMediation) April 30, 2013 (1) add functions 'ssLong', 'ssLongFull', 'powerLong', 'powerLongFull' to calculate sample size or power for longitudinal study with 2 time points v0.1.4 (powerMediation) April 29, 2013 (1) fixed one bug in the files 'powerLogisticBin.Rd' and 'powerLogisticCon.Rd': the 'value' slot should be 'Estimated power' (2) fixed one bug in files 'powerLogisticBin.Rd', 'powerLogisticCon.Rd', 'SSizeLogisticBin.Rd', and 'SSizeLogisticCon.Rd': Zu should be 'u-th percentile', not 'upper u-th percentile'. This is a typo in the file 'http://personal.health.usf.edu/ywu/logistic.pdf' (3) change the title in DESCRIPTION to "Power/Sample size calculation for mediation analysis, simple linear regression, and logistic regression"

v0.1.3 (powerMediation) April 29, 2013 (1) fixed 2 typos in DESCRIPTION file: 'continous' should be 'continuous'; 'poisson' should be 'Poisson' v0.1.2 (powerMediation) April 29, 2013 (1) the same as v0.1.1 (failed to upload v0.1.1 and need a new version to upload it again to CRAN) v0.1.1 (powerMediation) April 26, 2013 (1) add functions 'powerLogistic.OR' and 'SSizeLogistic.OR' to calculate power and sample size for logistic regression v0.1.0 (powerMediation) Nov. 28, 2012 (1) fixed 2 bugs in the file: power_VSMc_linear.R v0.0.9 (powerMediation) (1) fix a typo in man file for 'powerMediation.Sobel'

v0.0.8 (powerMediation) (1) Dr. George D. Papandonatos (gdp@stat.brown.edu) sent an e-mail to me today and kindly mentioned a few improvements for power calculation for Sobel test:

############################################# Dear Weiliang,

your help file for deriving the power of the Soble test allows users to enter sigma.m, sigma.x, theta.1a, and sigma.e as free parameters. However,

sigma.m^2 = theta.1a^2*sigma.x^2+sigma.e^2

so that sigma.m is not a free parameter. Indeed, in the example given in your documentation, it appears that

sigma.m = sqrt( .1701^2*.57^2+.20^2) = 0.22

which conflicts with the 0.612 value assigned to this parameter. I belive that you should not have sigma.m as an argument to this function.

Further, the documentation refers to sigma.m, sigma.x as variances, whereas your code suggests they are standard deviations.

Also, you refer to sigma.theta and sigma.lambda as standard deviations, whereas the formulae given suggest that they are variances.


v0.0.7 (powerMediation) (1) fixed a bug in calculating sample size/power for mediation effect based on Vittinghoff, Sen and McCulloch's (2009) method: corr.xm should be corr.xm^2 in the formula (2) fixed a bug in citing author names in R code or man file: the author 'Sen' was accidentally dropped. (3) added sample size/power calculation for logistic, poisson, and cox regression based on Vittinghoff, Sen and McCulloch's (2009) method. Thanks for Dr. Rui Wang who pointed out the sample size/power calculation formula for these 3 addition models in Vittinghoff, Sen and McCulloch (2009) and encouraged me to implement them. She even sent to me an sample R code for sample size calculation for logistic regression for testing mediation effect. (4) replaced the examples in functions based on Vittinghoff, Sen and McCulloch's (2009) method

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.2.8 by Weiliang Qiu, 2 months ago

Browse source code at https://github.com/cran/powerMediation

Authors: Weiliang Qiu <stwxq@channing.harvard.edu>

Documentation:   PDF Manual  

GPL (>= 2) license

Depends on stats

Imported by powerEQTL.

See at CRAN