Run Permutation Tests and Construct Associated Confidence Intervals

Implements permutation tests for any test statistic and randomization scheme and constructs associated confidence intervals as described in Glazer and Stark (2024) .


permutest

The goal of permutest is to allow users to run permutation tests and construct associated confidence intervals for any test statistic and any set of permutations.

Installation

You can install the development version of permutest from GitHub with:

# install.packages("devtools")
devtools::install_github("akglazer/permutest")

Example

This is a basic example which shows you how to use the permutation test function with a difference in means test statistic:

library(permutest)

data <- data.frame(group = c(rep(1, 10), rep(2, 10)),
                     outcome = c(rep(1, 10), rep(1, 10)))

output <- permutation_test(df = data, group_col = "group", outcome_col = "outcome",
                   test_stat = "diff_in_means", perm_func = permute_group,
                   alternative = "greater", shift = 0, reps = 10,
                   return_perm_dist = F, return_test_dist = T, seed = 42)

Alternatively, for the two-sample problem with difference in means test statistic, you can use the function two_sample() (and for the one-sample problem you can use one_sample()):

output <- two_sample(x = c(10, 9, 11), y = c(12, 11, 13), alternative = "less", seed = 42)

The following is an example of how to construct a confidence interval for a shift parameter in the two-sample problem:

x <- c(35.3, 35.9, 37.2, 33.0, 31.9, 33.7, 36.0, 35.0,
         33.3, 33.6, 37.9, 35.6, 29.0, 33.7, 35.7)
y <- c(32.5, 34.0, 34.4, 31.8, 35.0, 34.6, 33.5, 33.6,
         31.5, 33.8, 34.6)
df <- data.frame(outcome = c(x, y), group = c(rep(1, length(x)), rep(0, length(y))))

output <- permutation_test_ci(df, "group", "outcome", strata_col = NULL,
                      test_stat = "diff_in_means",
                      perm_func = permute_group,
                      upper_bracket = NULL,
                      lower_bracket = NULL,
                      cl = 0.95,
                      e = 0.01,
                      reps = 100000,
                      seed = 42)

Reference manual

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

install.packages("permutest")

1.0.0 by Amanda Glazer, 2 years ago


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


Authors: Amanda Glazer [aut, cre]


Documentation:   PDF Manual  


GPL (>= 3) license


Suggests testthat


See at CRAN