knitr::opts_chunk$set( collapse = TRUE, warning = FALSE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%" )
Author: Andree Valle Campos
License: MIT
The goal of powder
is to extend power and sample size calculations:
for more than one set of parameters, and
create tidy output tables and plots from them.
You can install the developing version of powder
using:
if(!require("devtools")) install.packages("devtools") devtools::install_github("avallecam/powder")
This is a basic example which shows you how to solve a common problem:
library(tidyverse) library(broom) library(pwr) library(powder)
#example("pwr.2p.test") pwr.2p.test(h=0.3,n=80,sig.level=0.05,alternative="greater") pwr_grid(h=0.3,n=seq(80,90,5),sig.level=0.05,alternative="greater") %>% pwr_tidy(test_function = pwr.2p.test) pwr_grid(h=seq(0.3,0.5,0.1),n=seq(80,90,5),sig.level=0.05,alternative="greater") %>% pwr_tidy(test_function = pwr.2p.test)
powder
consist of three main functions:
pwr_grid
: creates a tibble from all combination of input parameters using tidyr::expand_grid
.
pwr_tidy
: creates a broom::tidy()
output from the calculations of all input parameters using purrr::pmap
.
pwr_plot
: create a ggplot
with input parameters and calculated value (sample size, power or effect size)
diff <- 10 sigma <- 10 delta <- diff/sigma pwr.t.test(d = delta, power = 0.8, type = "one.sample") # sample - power plot #pwr.t.test(d = delta, power = 0.8, type = "one.sample") %>% plot()
# stata # power onemean 20, diff(10 20 30) sd(10 12.5 15) eg1 <- pwr_grid(n = NULL, diff = c(10,20,30), sigma = c(10,12.5,15), d = NULL, sig.level = 0.05, power = 0.8, type = "one.sample", alternative = "two.sided") #create tidytable eg1 %>% pwr_tidy(test_function = pwr.t.test) #create ggplot eg1 %>% pwr_tidy(test_function = pwr.t.test) %>% pwr_plot(x = diff,y = n,group = sigma)
# stata # power onemean 20, diff(5 (5) 15) sd(10) n(10 (2) 20) eg2 <- pwr_grid(n = seq(from = 10,to = 20,by = 2), diff = seq(from = 5,to = 15,by = 5), sigma = 10, d = NULL, sig.level = 0.05, #power = 0.8, type = "one.sample", alternative = "two.sided") #create tidytable eg2 %>% pwr_tidy(test_function = pwr.t.test) #create ggplot eg2 %>% pwr_tidy(test_function = pwr.t.test) %>% pwr_plot(x = n,y = power,group=diff)
Stephane Champely (2018). pwr: Basic Functions for Power Analysis. R package version 1.2-2. https://CRAN.R-project.org/package=pwr
citation("powder")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.