--- title: "Analysis Modes" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Analysis Modes} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_chunk$set(collapse = TRUE, comment = "#>") library(ggpower) ``` ggpower supports five analysis modes. Each mode solves for a different unknown given the others. | Mode | Solves for | When to use | |------|------------|-------------| | `a_priori` | Sample size | Planning before data collection | | `post_hoc` | Power | Fixed sample size, retrospective | | `criterion` | Alpha | Choose significance level | | `sensitivity` | Effect size | Minimum detectable effect | | `compromise` | Alpha and beta | Balance $\alpha$ and $\beta$ via ratio $q = \beta/\alpha$ | **Restrictions:** `t_generic` has no `a_priori`. `simon_two_stage` supports only `post_hoc` and `sensitivity`. ## A priori — sample size ```{r a_priori} power_compute("t_two_sample", "a_priori", d = 0.5, alpha = 0.05, power = 0.8, tails = "two", allocation_ratio = 1) ``` ## Post hoc — achieved power ```{r post_hoc} power_compute("t_one_sample", "post_hoc", d = 0.625, n = 30, alpha = 0.05, tails = "one") ``` ## Criterion — alpha ```{r criterion} power_compute("t_one_sample", "criterion", d = 0.5, n = 40, power = 0.8, tails = "two") ``` ## Sensitivity — effect size ```{r sensitivity} power_compute("f_mreg_omnibus", "sensitivity", alpha = 0.05, power = 0.8, total_n = 100, predictors = 3) ``` ## Compromise — alpha and beta ratio ```{r compromise} power_compute("t_one_sample", "compromise", d = 0.5, n = 40, q = 1, tails = "two") ``` ## Effect size conversions Helper functions convert study parameters into effect sizes used by `power_compute()`. ```{r d} effect_size_d(mean_h1 = 15, mean_h0 = 10, sd = 8) ``` ```{r f2} effect_size_f2(r2 = 0.1) ``` ```{r w} effect_size_w(p0 = c(0.25, 0.25, 0.25, 0.25), p1 = c(0.4, 0.3, 0.2, 0.1)) ``` See the pkgdown site for the full [effect size conversions](https://yaoxiangli.github.io/ggpower/articles/effect-size-conversions.html) article. ## Calculator The **Calculator** module evaluates distribution-function scripts via `ggpower_calculator()`. ```{r calc} ggpower_calculator("zinv(0.975)") ``` See the pkgdown site for the full [calculator](https://yaoxiangli.github.io/ggpower/articles/calculator.html) article. ## Related - [Choosing a power analysis](choosing-a-power-analysis.html) - [Support matrix](support-matrix.html)