### Install pwr from source Source: https://github.com/heliosdrm/pwr/blob/master/README.md Installs the package from a local source directory without building PDF documentation. ```R install.packages("pwr", repos=NULL, type="source") ``` -------------------------------- ### Execute pwr.r.test examples Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-correlation-anova.md Examples demonstrating power calculation, sample size estimation, conventional effect sizes, and one-tailed tests for correlation. ```r # Calculate power for correlation test pwr.r.test(n = 50, r = 0.3) # Calculate required sample size pwr.r.test(r = 0.4, power = 0.80) # Use conventional effect size pwr.r.test(n = 85, r = "medium") # One-tailed test pwr.r.test(n = 60, r = 0.35, alternative = "greater") ``` -------------------------------- ### Execute pwr.anova.test examples Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-correlation-anova.md Examples demonstrating power calculation, sample size per group, conventional effect sizes, and group count estimation for ANOVA. ```r # Calculate power for ANOVA pwr.anova.test(k = 4, n = 30, f = 0.3) # Calculate required sample size per group pwr.anova.test(k = 5, f = 0.25, power = 0.80) # Use conventional effect size pwr.anova.test(k = 3, n = 50, f = "medium") # Calculate number of groups pwr.anova.test(n = 40, f = 0.2, power = 0.85) ``` -------------------------------- ### Install pwr from CRAN Source: https://github.com/heliosdrm/pwr/blob/master/README.md Installs the official release of the pwr package from the CRAN repository. ```R install.packages("pwr", repos="http://cran.r-project.org") ``` -------------------------------- ### Chi-Square Power Analysis Usage Examples Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-chisq-regression.md Examples demonstrating how to calculate power, sample size, and use conventional effect sizes for chi-square tests. ```r # Calculate power for chi-square test pwr.chisq.test(w = 0.3, N = 200, df = 4) # Calculate required sample size pwr.chisq.test(w = 0.25, df = 2, power = 0.80) # Use conventional effect size pwr.chisq.test(w = "medium", N = 300, df = 3) # Goodness-of-fit test with 5 categories pwr.chisq.test(w = 0.2, N = 150, df = 4) ``` -------------------------------- ### Usage Examples for pwr.f2.test Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-chisq-regression.md Various examples demonstrating how to solve for different parameters in multiple regression power analysis. ```r # Power for testing 3 additional predictors pwr.f2.test(u = 3, v = 100, f2 = 0.1) # Required sample size for testing 2 predictors # If u = 2 and we need v, solve for v when df = n - p - 1 pwr.f2.test(u = 2, f2 = 0.15, power = 0.80) # Use conventional effect size pwr.f2.test(u = 1, v = 50, f2 = "small") # Testing 4 predictors in a model pwr.f2.test(u = 4, v = 80, power = 0.85) ``` -------------------------------- ### Execute pwr.t.test examples Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-t-tests.md Various usage scenarios for calculating power, sample size, and effect size using pwr.t.test. ```r # Calculate power given sample size pwr.t.test(n = 50, d = 0.5, sig.level = 0.05, type = "two.sample") # Calculate required sample size pwr.t.test(d = 0.5, power = 0.8, sig.level = 0.05, type = "two.sample") # Use conventional effect size pwr.t.test(n = 64, d = "medium", type = "two.sample") # One-sample t-test pwr.t.test(n = 30, d = 0.3, type = "one.sample") # Paired t-test pwr.t.test(n = 25, d = 0.4, type = "paired") # One-tailed test pwr.t.test(n = 60, d = 0.4, alternative = "greater") ``` -------------------------------- ### Load pwr package Source: https://github.com/heliosdrm/pwr/blob/master/README.md Loads the installed pwr package into the current R session. ```R library(pwr) ``` -------------------------------- ### Execute pwr.t2n.test examples Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-t-tests.md Usage scenarios for calculating power and sample sizes for two-sample tests with unequal group sizes. ```r # Calculate power with different sample sizes pwr.t2n.test(n1 = 30, n2 = 50, d = 0.5, sig.level = 0.05) # Calculate one group size when other is fixed pwr.t2n.test(n1 = 40, d = 0.4, power = 0.8) # Calculate effect size pwr.t2n.test(n1 = 30, n2 = 50, power = 0.8) ``` -------------------------------- ### Calculate power and sample sizes with pwr.2p2n.test Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-proportions.md Examples demonstrating how to solve for power, sample size, or effect size by leaving one parameter as NULL. ```r # Calculate power with unequal sample sizes pwr.2p2n.test(h = 0.4, n1 = 50, n2 = 75, sig.level = 0.05) # Calculate one group size pwr.2p2n.test(h = 0.3, n1 = 100, power = 0.80) # Calculate effect size pwr.2p2n.test(n1 = 60, n2 = 80, power = 0.85) ``` -------------------------------- ### Visualize Power Analysis Results with ggplot2 Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Setup for ggplot2 integration and plotting power analysis results. ```r install.packages(c("ggplot2", "scales")) library(ggplot2) library(scales) result <- pwr.t.test(n = 50, d = 0.5) plot(result) # Will use ggplot2 if available ``` -------------------------------- ### Perform power analysis examples Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/types.md Calculate power for various statistical tests and retrieve Cohen's effect sizes. ```r # T-test power analysis t_result <- pwr.t.test(n = 60, d = 0.4, type = "two.sample", alternative = "two.sided") t_result # Output includes: n, d, sig.level, power, alternative, note, method # ANOVA power analysis anova_result <- pwr.anova.test(k = 5, n = 40, f = 0.25) anova_result # Output includes: k, n, f, sig.level, power, note, method # Cohen's conventional effect size es_result <- cohen.ES(test = "t", size = "medium") es_result$effect.size # Returns 0.5 ``` -------------------------------- ### Usage Examples for pwr.p.test Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-proportions.md Common usage patterns for calculating power, sample size, and performing one-tailed hypothesis tests. ```r # Calculate power pwr.p.test(h = 0.5, n = 200) # Calculate required sample size pwr.p.test(h = 0.3, power = 0.80) # One-tailed hypothesis test pwr.p.test(h = 0.4, n = 150, alternative = "greater") ``` -------------------------------- ### pwr.2p.test Usage Examples Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-proportions.md Various usage scenarios for pwr.2p.test, including calculating power, sample size, and using conventional effect sizes. ```r # Calculate power with equal sample sizes pwr.2p.test(h = 0.5, n = 100, sig.level = 0.05) # Calculate required sample size pwr.2p.test(h = 0.3, power = 0.8, sig.level = 0.05) # Use conventional effect size pwr.2p.test(h = "medium", n = 150, alternative = "two.sided") # One-tailed test pwr.2p.test(h = 0.4, power = 0.9, alternative = "greater") ``` -------------------------------- ### Trigger uniroot Failure Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/errors.md Example of a parameter combination that causes a root-finding failure in pwr.t.test. ```r # Trying to solve for impossible combination pwr.t.test(n = NULL, d = 2, power = 0.999, sig.level = 0.05) # If the effect size is too large and power target too high ``` -------------------------------- ### Usage Examples for pwr.norm.test Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-chisq-regression.md Common usage patterns including calculating power, sample size, using conventional effect sizes, and one-tailed tests. ```r # Calculate power pwr.norm.test(d = 0.4, n = 100) # Calculate required sample size pwr.norm.test(d = 0.3, power = 0.80) # Use conventional effect size pwr.norm.test(d = "medium", n = 150) # One-tailed test pwr.norm.test(d = 0.5, power = 0.90, alternative = "greater") ``` -------------------------------- ### Optional R Packages Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/configuration.md Lists recommended packages for enhanced visualization and labeling. ```text ggplot2 - For improved power curve plots (recommended) scales - For percentage labeling on plots (with ggplot2) ``` -------------------------------- ### Display project file structure Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/INDEX.md Visual representation of the documentation file organization. ```text output/ ├── INDEX.md (this file) ├── overview.md ├── quick-reference.md ├── configuration.md ├── types.md ├── errors.md ├── api-reference-t-tests.md ├── api-reference-proportions.md ├── api-reference-correlation-anova.md ├── api-reference-chisq-regression.md ├── api-reference-effect-sizes.md └── api-reference-plotting.md ``` -------------------------------- ### Configure proportion test parameters Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/configuration.md Defines parameters for pwr.2p.test, pwr.2p2n.test, and pwr.p.test. ```text sig.level = 0.05, power = NULL effect size: h (numeric in [-10, 10] or "small"/"medium"/"large") alternative: "two.sided" | "less" | "greater" ``` -------------------------------- ### List R source files for pwr package Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/00-README.md Displays the directory structure of the R source code files for the pwr package. ```R R/ ├── pwr.t.test.R ├── pwr.t2n.test.R ├── pwr.2p.test.R ├── pwr.2p2n.test.R ├── pwr.p.test.R ├── pwr.r.test.R ├── pwr.anova.test.R ├── pwr.chisq.test.R ├── pwr.f2.test.R ├── pwr.norm.test.R ├── cohen.ES.R ├── ES.h.R ├── ES.w1.R ├── ES.w2.R └── plot.power.htest.R ``` -------------------------------- ### Package Import Specification Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/configuration.md Defines the package dependencies as specified in the DESCRIPTION file. ```text Imports: stats, graphics Suggests: ggplot2, scales, knitr, rmarkdown ``` -------------------------------- ### Project Directory Structure Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/overview.md Visual representation of the pwr package file organization. ```text pwr/ ├── R/ │ ├── pwr.t.test.R # T-tests │ ├── pwr.t2n.test.R # T-tests with unequal n │ ├── pwr.2p.test.R # Proportion tests (equal n) │ ├── pwr.2p2n.test.R # Proportion tests (unequal n) │ ├── pwr.p.test.R # Single proportion tests │ ├── pwr.r.test.R # Correlation tests │ ├── pwr.anova.test.R # ANOVA │ ├── pwr.chisq.test.R # Chi-square tests │ ├── pwr.f2.test.R # Multiple regression │ ├── pwr.norm.test.R # Normal distribution tests │ ├── cohen.ES.R # Conventional effect sizes │ ├── ES.h.R # Effect size for proportions │ ├── ES.w1.R # Effect size for goodness-of-fit │ ├── ES.w2.R # Effect size for independence │ └── plot.power.htest.R # Plotting method └── man/ └── (Documentation files) ``` -------------------------------- ### Dispatch S3 method Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/types.md Demonstrate S3 method dispatch for the plot function. ```r plot(x) ``` -------------------------------- ### Configure pwr.f2.test parameters Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/configuration.md Defines parameters for multiple regression power analysis. ```text sig.level = 0.05, power = NULL effect size: f2 (numeric ≥ 0 or "small"/"medium"/"large") u: numeric ≥ 1 (numerator degrees of freedom) v: numeric ≥ 1 (denominator degrees of freedom) ``` -------------------------------- ### Required R Packages Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/configuration.md Lists the mandatory packages for statistical distributions and base plotting. ```text stats - For statistical distributions and functions graphics - For base plotting capabilities ``` -------------------------------- ### Explore Power Analysis Trade-offs in R Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Demonstrates how sample size requirements change based on effect size using pwr.t.test. ```r # Small effect, need large sample pwr.t.test(d = 0.2, power = 0.80, type = "two.sample") # Large effect, need smaller sample pwr.t.test(d = 0.8, power = 0.80, type = "two.sample") ``` -------------------------------- ### Configure pwr.r.test parameters Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/configuration.md Defines parameters for correlation power analysis. ```text sig.level = 0.05, power = NULL effect size: r (numeric in [-1+ε, 1-ε] or "small"/"medium"/"large") alternative: "two.sided" | "less" | "greater" ``` -------------------------------- ### Configure pwr.chisq.test parameters Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/configuration.md Defines parameters for Chi-Square power analysis, requiring degrees of freedom. ```text sig.level = 0.05, power = NULL effect size: w (numeric ≥ 0 or "small"/"medium"/"large") df: numeric (degrees of freedom, required) N: numeric ≥ 1 (total sample size) ``` -------------------------------- ### plot.power.htest(x, ...) Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-plotting.md S3 method for plotting power analysis results from power.htest objects. ```APIDOC ## plot.power.htest(x, ...) ### Description Generates a power curve showing the relationship between sample size and statistical power for power analysis results. The function automatically detects the test type and renders the plot using either ggplot2 (if available) or base R. ### Signature `plot.power.htest(x, ...)` ### Parameters - **x** (power.htest) - Required - An object of class power.htest returned from any of the pwr.*.test functions. - **...** (optional) - Optional - Additional graphical parameters including: main (plot title), xlab (x-axis label), ylab (y-axis label). ### Return Value Displays a plot of power vs. sample size, including a line showing power changes, a vertical dashed line for the optimal sample size, and relevant annotations. ### Usage Example ```r # Plot result from t-test power calculation result <- pwr.t.test(n = 50, d = 0.5, type = "two.sample") plot(result) # Plot with custom title pwr_result <- pwr.anova.test(k = 4, n = 30, f = 0.3) plot(pwr_result, main = "ANOVA Power Analysis") ``` ``` -------------------------------- ### Print power.htest results Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/types.md Display all fields of a power.htest object using the default print method. ```r # Default print method displays all fields result <- pwr.t.test(n = 50, d = 0.5) print(result) ``` -------------------------------- ### Triggering Unsupported Method Errors Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/errors.md Custom power.htest objects with methods not included in the supported list will fail during plotting. ```r # If a custom power.htest object with unsupported method is created obj <- structure(list(method = "Unknown method"), class = "power.htest") plot(obj) ``` -------------------------------- ### Numerical Sample Size Bounds Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/configuration.md Defines the lower and upper bounds for sample size calculations in the numerical solver. ```text Lower: 2 + 1e-10 (or 4 + 1e-10 for correlation) Upper: 1e+09 ``` -------------------------------- ### Catch Errors with tryCatch Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/errors.md Use tryCatch to gracefully handle errors during power analysis function calls. ```r # Use tryCatch to handle errors result <- tryCatch({ pwr.t.test(n = 50, d = 0.5, power = 0.80, sig.level = 0.05) }, error = function(e) { message("Error in power analysis: ", e$message) NULL }) ``` -------------------------------- ### Define Statistical Parameters Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Standard significance levels, target power, and alternative hypothesis settings. ```r sig.level <- 0.01, 0.05, 0.10 # Significance level (alpha) power <- 0.80, 0.90 # Target power (1 - beta) alternative <- "two.sided" | "less" | "greater" ``` -------------------------------- ### Configure pwr.t.test parameters Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/configuration.md Defines parameters for one-sample, two-sample, or paired t-tests. ```text sig.level = 0.05, power = NULL effect size: d (numeric in [-10, 10] or "small"/"medium"/"large") type: "one.sample" | "two.sample" | "paired" alternative: "two.sided" | "less" | "greater" ``` -------------------------------- ### Configure pwr.t2n.test parameters Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/configuration.md Defines parameters for t-tests with unequal sample sizes. ```text sig.level = 0.05, power = NULL effect size: d (numeric in [-10, 10] or "small"/"medium"/"large") alternative: "two.sided" | "less" | "greater" ``` -------------------------------- ### Troubleshoot NULL parameter errors in pwr.t.test Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Ensure exactly one parameter is set to NULL to solve for the desired variable. ```r # Wrong pwr.t.test(n = 50, d = 0.5, power = NULL, sig.level = 0.05) # Correct - one NULL pwr.t.test(n = 50, d = 0.5, power = NULL, sig.level = 0.05) ``` -------------------------------- ### Function Signature for pwr.p.test Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-proportions.md The formal definition of the pwr.p.test function in R. ```r pwr.p.test(h = NULL, n = NULL, sig.level = 0.05, power = NULL, alternative = c("two.sided", "less", "greater")) ``` -------------------------------- ### Configure pwr.anova.test parameters Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/configuration.md Defines parameters for ANOVA power analysis, requiring group count and per-group sample size. ```text sig.level = 0.05, power = NULL effect size: f (numeric ≥ 0 or "small"/"medium"/"large") k: numeric ≥ 2 (number of groups) n: numeric ≥ 2 (per-group sample size) ``` -------------------------------- ### Solve for sample size using pwr.t.test Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/INDEX.md Calculate the required sample size by setting n to NULL while providing other test parameters. ```r pwr.t.test(n = NULL, d = 0.5, sig.level = 0.05, power = 0.80, type = "two.sample") # Solves for n (sample size) ``` -------------------------------- ### Function Signature for pwr.f2.test Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-chisq-regression.md The standard signature for the pwr.f2.test function. ```r pwr.f2.test(u = NULL, v = NULL, f2 = NULL, sig.level = 0.05, power = NULL) ``` -------------------------------- ### Validate Inputs Before Function Calls Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/errors.md Check parameter constraints and numeric ranges before executing power analysis functions. ```r # Check that exactly one parameter is NULL params <- list(n = 50, d = NULL, power = 0.80, sig.level = 0.05) null_count <- sum(sapply(params, is.null)) if (null_count != 1) { stop("Exactly one parameter must be NULL") } # Validate numeric ranges if (!is.numeric(sig.level) || sig.level < 0 || sig.level > 1) { stop("sig.level must be numeric in [0, 1]") } ``` -------------------------------- ### Use conventional effect sizes Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/overview.md Demonstrates using Cohen's conventional effect size categories in power calculations. ```r # Use "medium" effect size for t-test pwr.t.test(n = 64, d = "medium", type = "two.sample") # Equivalent to: es <- cohen.ES(test = "t", size = "medium") pwr.t.test(n = 64, d = es$effect.size, type = "two.sample") ``` -------------------------------- ### Plot power.htest object Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/types.md Generate a power curve plot for a power.htest object. ```r result <- pwr.r.test(n = 50, r = 0.3) plot(result) ``` -------------------------------- ### Define power.htest class Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/types.md Assign the power.htest class to an object. ```r class(obj) <- "power.htest" ``` -------------------------------- ### plot.power.htest() Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Plots the power curve for a test result. ```APIDOC ## plot.power.htest() ### Description Generates a power curve plot for a given test result object. ### Parameters - **x** (object) - The result object from a power test ``` -------------------------------- ### Extract and visualize results from pwr.t.test Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Access individual result components, print the full object, or generate a power curve plot. ```r result <- pwr.t.test(n = 50, d = 0.5) # Get specific values result$n # 50 result$d # 0.5 result$power # Calculated power result$sig.level # 0.05 result$method # Method description # Print all results print(result) # Plot power curve plot(result) ``` -------------------------------- ### Calculate Power or Sample Size in R Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Perform power analysis to find either the power for a given sample size or the required sample size for a target power. ```r # Find power given n result <- pwr.t.test(n = 50, d = 0.5, type = "two.sample") result$power # Find n given power result <- pwr.t.test(d = 0.5, power = 0.80, type = "two.sample") result$n ``` -------------------------------- ### Define pwr.2p2n.test signature Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-proportions.md The function signature for pwr.2p2n.test, which requires exactly one parameter to be NULL to solve for it. ```r pwr.2p2n.test(h = NULL, n1 = NULL, n2 = NULL, sig.level = 0.05, power = NULL, alternative = c("two.sided", "less", "greater")) ``` -------------------------------- ### pwr.p.test() Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Performs power analysis for a single proportion. ```APIDOC ## pwr.p.test() ### Description Calculates power or sample size for a single proportion. ### Parameters - **n** (numeric) - Sample size - **h** (numeric) - Effect size - **alternative** (string) - Alternative hypothesis ``` -------------------------------- ### Plotting power analysis results in R Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-plotting.md Visualizes power vs. sample size for various statistical tests. Supports custom titles and axis labels via standard graphical parameters. ```r # Plot result from t-test power calculation result <- pwr.t.test(n = 50, d = 0.5, type = "two.sample") plot(result) # Plot with custom title pwr_result <- pwr.anova.test(k = 4, n = 30, f = 0.3) plot(pwr_result, main = "ANOVA Power Analysis") # Plot correlation test result corr_result <- pwr.r.test(n = 60, r = 0.3) plot(corr_result, main = "Pearson Correlation Power Analysis", xlab = "Sample Size", ylab = "Statistical Power") # Plot proportions test prop_result <- pwr.2p.test(h = 0.4, n = 100) plot(prop_result) # Plot chi-square test chi_result <- pwr.chisq.test(w = 0.3, N = 200, df = 4) plot(chi_result) ``` -------------------------------- ### Visualize power analysis results Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/overview.md Generates a plot for the power analysis result object. ```r # Plot power curve result <- pwr.anova.test(k = 4, n = 30, f = 0.25) plot(result) ``` -------------------------------- ### pwr.2p.test, pwr.2p2n.test, pwr.p.test Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/configuration.md Performs power analysis for proportions. ```APIDOC ## pwr.2p.test, pwr.2p2n.test, pwr.p.test ### Parameters - **sig.level** (numeric) - Default 0.05 - **power** (numeric) - Default NULL - **h** (numeric or string) - Effect size (numeric in [-10, 10] or "small"/"medium"/"large") - **alternative** (string) - "two.sided", "less", or "greater" ``` -------------------------------- ### pwr.2p2n.test() Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Performs power analysis for proportion differences with unequal sample sizes. ```APIDOC ## pwr.2p2n.test() ### Description Calculates power or sample size for proportion differences with unequal sample sizes. ### Parameters - **n1** (numeric) - Sample size 1 - **n2** (numeric) - Sample size 2 - **h** (numeric) - Effect size - **alternative** (string) - Alternative hypothesis ``` -------------------------------- ### pwr.2p2n.test(h, n1, n2, sig.level, power, alternative) Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-proportions.md Calculates power analysis for differences between two proportions with unequal sample sizes. Exactly one of the parameters must be NULL to be solved for. ```APIDOC ## pwr.2p2n.test ### Description Performs power analysis for differences between two proportions with unequal sample sizes using arcsine transformation. ### Signature pwr.2p2n.test(h = NULL, n1 = NULL, n2 = NULL, sig.level = 0.05, power = NULL, alternative = c("two.sided", "less", "greater")) ### Parameters - **h** (numeric, character, or NULL) - Optional - Effect size (Cohen's h). Pass "small", "medium", or "large" for conventional values. - **n1** (numeric or NULL) - Optional - Sample size for first group. Must be at least 2. - **n2** (numeric or NULL) - Optional - Sample size for second group. Must be at least 2. - **sig.level** (numeric) - Optional - Significance level (alpha). Must be in [0, 1]. Default is 0.05. - **power** (numeric or NULL) - Optional - Statistical power (1 - beta). Must be in [0, 1]. - **alternative** (character) - Optional - Alternative hypothesis: "two.sided", "less", or "greater". Default is "two.sided". ### Return Value Returns an object of class `power.htest` containing the calculated parameter, effect size, sample sizes, significance level, power, alternative hypothesis, and method details. ### Usage Examples # Calculate power with unequal sample sizes pwr.2p2n.test(h = 0.4, n1 = 50, n2 = 75, sig.level = 0.05) # Calculate one group size pwr.2p2n.test(h = 0.3, n1 = 100, power = 0.80) # Calculate effect size pwr.2p2n.test(n1 = 60, n2 = 80, power = 0.85) ``` -------------------------------- ### Retrieve Cohen's Effect Size Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-effect-sizes.md Retrieves standardized Cohen's effect size benchmarks for various statistical tests. ```r cohen.ES(test = c("p", "t", "r", "anov", "chisq", "f2"), size = c("small", "medium", "large")) ``` ```r # Get conventional effect size for t-test cohen.ES(test = "t", size = "medium") # Returns effect.size = 0.5 # Get small effect size for ANOVA cohen.ES(test = "anov", size = "small") # Returns effect.size = 0.1 # Get large effect size for correlation cohen.ES(test = "r", size = "large") # Returns effect.size = 0.5 # Use in power analysis library(pwr) es <- cohen.ES(test = "chisq", size = "medium") pwr.chisq.test(w = es$effect.size, N = 200, df = 4) ``` -------------------------------- ### Validate NULL Parameter Constraint in pwr Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/errors.md Functions require exactly one parameter to be set to NULL for solving. Providing multiple or zero NULL values triggers an error. ```r pwr.t.test(n = 50, d = 0.5, power = 0.80, sig.level = 0.05) # More than one parameter specified pwr.t.test(n = NULL, d = NULL, power = NULL, sig.level = 0.05) # All parameters NULL ``` -------------------------------- ### Index power.htest fields Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/types.md Access specific statistical fields within a power.htest object. ```r # Extract specific fields result <- pwr.anova.test(k = 4, n = 30, f = 0.25) result$n # Sample size per group: 30 result$k # Number of groups: 4 result$power # Calculated power result$method # "Balanced one-way analysis of variance power calculation" ``` -------------------------------- ### ES.w1 Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-effect-sizes.md Calculate effect size w for chi-square goodness-of-fit test. ```APIDOC ## ES.w1(P0, P1) ### Description Calculate effect size w for chi-square goodness-of-fit test. ### Signature ES.w1(P0, P1) ### Parameters - **P0** (numeric vector) - Required - Null hypothesis expected proportions per category. Sum should equal 1. - **P1** (numeric vector) - Required - Alternative hypothesis proportions per category. Sum should equal 1. Must have same length as P0. ### Return Value Numeric scalar. The effect size w computed as: w = sqrt(sum((P1 - P0)² / P0)) ``` -------------------------------- ### Define Sample Size Ranges Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Valid ranges for per-group and total sample sizes. ```r n <- 2 to 1e9 # Per-group sample size n1, n2 <- 2 to 1e9 # Separate group sizes N <- 1 to 1e9 # Total sample size ``` -------------------------------- ### cohen.ES Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-effect-sizes.md Retrieve conventional (Cohen's) effect size values for different statistical tests. ```APIDOC ## cohen.ES(test, size) ### Description Retrieve conventional (Cohen's) effect size values for different statistical tests. ### Signature cohen.ES(test = c("p", "t", "r", "anov", "chisq", "f2"), size = c("small", "medium", "large")) ### Parameters - **test** (character) - Required - Type of test: "p" (proportion), "t" (t-test), "r" (correlation), "anov" (ANOVA), "chisq" (chi-square), or "f2" (multiple regression). - **size** (character) - Required - Effect size magnitude: "small", "medium", or "large". ### Return Value Returns an object of class `power.htest` containing: - `test` - type of test - `size` - size category - `effect.size` - the corresponding Cohen's conventional effect size value - `method` - "Conventional effect size from Cohen (1982)" ``` -------------------------------- ### Define Effect Size Parameters Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Standard effect size ranges for various statistical tests. ```r d <- 0.2 to 0.8 # T-tests, normal tests (or "small", "medium", "large") h <- 0.2 to 0.8 # Proportions (or "small", "medium", "large") r <- 0.1 to 0.5 # Correlation (or "small", "medium", "large") f <- 0.1 to 0.4 # ANOVA (or "small", "medium", "large") w <- 0.1 to 0.5 # Chi-square (or "small", "medium", "large") f2 <- 0.02 to 0.35 # Regression (or "small", "medium", "large") ``` -------------------------------- ### Perform Proportion Power Analysis Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Calculate power or sample size for two-proportion tests with equal group sizes. ```r # Find required n for h=0.4, power=0.80 pwr.2p.test(h = 0.4, power = 0.80) # Find power for n=100, h=0.3 pwr.2p.test(n = 100, h = 0.3) ``` -------------------------------- ### pwr.f2.test(u, v, f2, sig.level, power) Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-chisq-regression.md Calculates power analysis for multiple regression with linear model F-tests. Exactly one parameter must be NULL to solve for that value. ```APIDOC ## pwr.f2.test ### Description Performs power analysis for multiple regression using linear model F-tests. It supports calculating one of the parameters (u, v, f2, power, or sig.level) given the others. ### Signature `pwr.f2.test(u = NULL, v = NULL, f2 = NULL, sig.level = 0.05, power = NULL)` ### Parameters - **u** (numeric or NULL) - Optional - Numerator degrees of freedom (number of predictors being tested). Must be at least 1. - **v** (numeric or NULL) - Optional - Denominator degrees of freedom (n - p - 1). Must be at least 1. - **f2** (numeric, character, or NULL) - Optional - Effect size (Cohen's f²). Can be "small", "medium", or "large". - **sig.level** (numeric) - Optional - Significance level (alpha). Default is 0.05. - **power** (numeric or NULL) - Optional - Statistical power (1 - beta). ### Return Value Returns an object of class `power.htest` containing the calculated parameter, degrees of freedom, effect size, significance level, and power. ### Usage Example ```r # Power for testing 3 additional predictors pwr.f2.test(u = 3, v = 100, f2 = 0.1) # Required sample size for testing 2 predictors pwr.f2.test(u = 2, f2 = 0.15, power = 0.80) ``` ``` -------------------------------- ### Perform Correlation Power Analysis Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Calculate power or sample size for correlation tests. ```r # Find required n for r=0.3, power=0.80 pwr.r.test(r = 0.3, power = 0.80) # Find power for n=100, r=0.25 pwr.r.test(n = 100, r = 0.25) ``` -------------------------------- ### pwr.p.test(h, n, sig.level, power, alternative) Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-proportions.md Calculates power, sample size, or effect size for a single proportion test. Exactly one parameter must be NULL to be solved for. ```APIDOC ## pwr.p.test ### Description Performs power analysis for a proportion test against a fixed null hypothesis value. The function solves for the parameter set to NULL based on the provided inputs. ### Signature pwr.p.test(h = NULL, n = NULL, sig.level = 0.05, power = NULL, alternative = c("two.sided", "less", "greater")) ### Parameters - **h** (numeric/character) - Optional - Effect size (Cohen's h). Can be "small", "medium", or "large". - **n** (numeric) - Optional - Sample size. Must be at least 1. - **sig.level** (numeric) - Optional - Significance level (alpha). Default is 0.05. - **power** (numeric) - Optional - Statistical power (1 - beta). - **alternative** (character) - Optional - Alternative hypothesis: "two.sided", "less", or "greater". Default is "two.sided". ### Return Value Returns an object of class `power.htest` containing: - **h** (numeric) - Effect size - **n** (numeric) - Sample size - **sig.level** (numeric) - Significance level - **power** (numeric) - Statistical power - **alternative** (character) - Direction of test - **method** (character) - "proportion power calculation for binomial distribution (arcsine transformation)" ### Usage Examples # Calculate power pwr.p.test(h = 0.5, n = 200) # Calculate required sample size pwr.p.test(h = 0.3, power = 0.80) # One-tailed hypothesis test pwr.p.test(h = 0.4, n = 150, alternative = "greater") ``` -------------------------------- ### Perform Multiple Regression Power Analysis Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Calculate power or sample size for multiple regression models. ```r # Find required denominator df for u=2, f2=0.15, power=0.80 pwr.f2.test(u = 2, f2 = 0.15, power = 0.80) # Find power for u=3, v=50, f2=0.1 pwr.f2.test(u = 3, v = 50, f2 = 0.1) ``` -------------------------------- ### Perform Chi-square Power Analysis Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Calculate power or sample size for chi-square tests. ```r # Find required N for w=0.3, df=4, power=0.80 pwr.chisq.test(w = 0.3, df = 4, power = 0.80) # Find power for N=200, w=0.25, df=2 pwr.chisq.test(N = 200, w = 0.25, df = 2) ``` -------------------------------- ### Calculate Effect Size w for Goodness-of-Fit Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-effect-sizes.md Calculates effect size w for chi-square goodness-of-fit tests by comparing observed and expected proportions. ```r ES.w1(P0, P1) ``` ```r # Uniform null hypothesis (equal proportions) vs alternative P0 <- c(0.25, 0.25, 0.25, 0.25) P1 <- c(0.2, 0.3, 0.25, 0.25) w <- ES.w1(P0, P1) pwr.chisq.test(w = w, N = 200, df = 3) # Three-category example P0 <- c(0.5, 0.3, 0.2) P1 <- c(0.4, 0.4, 0.2) ES.w1(P0, P1) ``` -------------------------------- ### ES.w2 Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-effect-sizes.md Calculate effect size w for chi-square test of independence. ```APIDOC ## ES.w2(P) ### Description Calculate effect size w for chi-square test of independence. ### Signature ES.w2(P) ### Parameters - **P** (matrix) - Required - Contingency table with proportions or frequencies. Rows represent one variable, columns represent another. ### Return Value Numeric scalar. The effect size w computed as: w = sqrt(sum((P - P0)² / P0)) where P0 is the expected frequencies under independence. ``` -------------------------------- ### Triggering Effect Size Coercion Errors Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/errors.md Passing invalid character strings to effect size parameters triggers a match.arg error. ```r pwr.t.test(n = 50, d = "tiny", type = "two.sample") pwr.r.test(n = 50, r = "huge") ``` -------------------------------- ### Chi-Square Power Analysis Function Signature Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-chisq-regression.md The function signature for pwr.chisq.test in R. ```r pwr.chisq.test(w = NULL, N = NULL, df = NULL, sig.level = 0.05, power = NULL) ``` -------------------------------- ### Validate Sample Size Requirements Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/errors.md Different statistical tests have specific minimum sample size requirements for groups or total observations. ```r pwr.t.test(n = 1, d = 0.5) # Minimum is implicitly 1 or 2 pwr.t2n.test(n1 = 1, n2 = 50, d = 0.5) # n1 and n2 must be >= 2 ``` ```r pwr.r.test(n = 3, r = 0.3) # Minimum for correlation is 4 ``` ```r pwr.anova.test(k = 1, n = 20, f = 0.25) # k must be >= 2 pwr.anova.test(k = 4, n = 1, f = 0.25) # n must be >= 2 ``` ```r pwr.2p.test(h = 0.5, n = 0) # n must be >= 1 ``` -------------------------------- ### ES.h Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-effect-sizes.md Calculate effect size h for proportions using arcsine transformation. ```APIDOC ## ES.h(p1, p2) ### Description Calculate effect size h for proportions using arcsine transformation. ### Signature ES.h(p1, p2) ### Parameters - **p1** (numeric) - Required - First proportion. Must be in [0, 1]. - **p2** (numeric) - Required - Second proportion. Must be in [0, 1]. ### Return Value Numeric scalar or vector. The effect size h computed as: h = 2 * arcsin(sqrt(p1)) - 2 * arcsin(sqrt(p2)) ``` -------------------------------- ### Numerical Effect Size Bounds for Two-Sided Tests Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/configuration.md Specifies the numerical bounds for effect size parameters in two-sided statistical tests. ```text d, h: c(1e-10, 10) r: c(1e-10, 1 - 1e-10) f, w, f2: c(1e-07, 1e+07) ``` -------------------------------- ### Numerical Effect Size Bounds for One-Sided Tests (less) Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/configuration.md Specifies the numerical bounds for effect size parameters in one-sided 'less' tests. ```text d, h: c(-10, 5) r: c(-1+1e-10, 1 - 1e-10) ``` -------------------------------- ### Perform ANOVA Power Analysis Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Calculate power or sample size for one-way ANOVA. ```r # Find required n per group for k=4 groups, f=0.25, power=0.80 pwr.anova.test(k = 4, f = 0.25, power = 0.80) # Find power for k=3, n=30, f=0.2 pwr.anova.test(k = 3, n = 30, f = 0.2) ``` -------------------------------- ### Function Signature for pwr.norm.test Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-chisq-regression.md The function signature defining parameters for normal distribution power analysis. ```r pwr.norm.test(d = NULL, n = NULL, sig.level = 0.05, power = NULL, alternative = c("two.sided", "less", "greater")) ``` -------------------------------- ### Calculate effect sizes Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/overview.md Computes effect sizes from proportions or contingency tables for use in power tests. ```r # Calculate effect size from proportions h <- ES.h(p1 = 0.3, p2 = 0.5) pwr.2p.test(h = h, n = 100) # Chi-square effect size from contingency table P <- matrix(c(0.1, 0.05, 0.05, 0.2), nrow = 2) w <- ES.w2(P) pwr.chisq.test(w = w, N = 300, df = 1) ``` -------------------------------- ### pwr.2p.test Function Signature Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/api-reference-proportions.md The function signature for pwr.2p.test, defining the parameters for power analysis. ```r pwr.2p.test(h = NULL, n = NULL, sig.level = 0.05, power = NULL, alternative = c("two.sided", "less", "greater")) ``` -------------------------------- ### Use character effect sizes in pwr.t.test Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/quick-reference.md Effect sizes can be specified as character strings like 'medium' or their numeric equivalents. ```r # Both equivalent: pwr.t.test(n = 64, d = "medium") pwr.t.test(n = 64, d = 0.5) # 0.5 is the "medium" value for t-tests ``` -------------------------------- ### Calculate power with pwr.t.test Source: https://github.com/heliosdrm/pwr/blob/master/_autodocs/overview.md Computes statistical power based on sample size and effect size. ```r library(pwr) # Calculate power given sample size and effect size pwr.t.test(n = 50, d = 0.5, type = "two.sample") ```