crt2power

Overview

crt2power is an R package that allows users to calculate the statistical power or sample size of their cluster randomized trials (CRTs) with two co-primary outcomes, given a set of input parameters. The motivation for this package is to aid in the design of hybrid 2 studies. Hybrid 2 studies are studies where there are two co-primary outcomes, namely an implementation outcome (such as fidelity or reach) and a health outcome (such as infection rates, or change from baseline health scores). When powering these studies, cluster correlations and the inflation of the Type I error rate must be accounted for.

The five key study design approaches are included in this package that can be used to power hybrid 2 CRTs. 1. P-Value Adjustments for Multiple Testing 2. Combined Outcomes Approach 3. Single 1-Degree of Freedom (DF) Combined Test for Two Outcomes 4. Disjunctive 2-DF Test for Two Outcomes 5. Conjunctive Intersection-Union Test for Two outcomes

For details on the methods listed above, please refer to the publication that discusses these methods, available here. (Add link)

Installation

install.packages("devtools")
require(devtools)
install_github("https://github.com/melodyaowen/crt2power")
require(crt2power)

Required Input Parameters

Table of Key Required Input Parameters: | Parameter | Statistical Notation | Variable Name | Description | | — | — | — | — | | Statistical power | \(\pi\) | power | Probability of detecting a true effect under \(H_A\) | | Number of clusters | \(K\) | K | Number of clusters in each treatment arm | | Cluster size | \(m\) | m | Number of individuals in each cluster | | Family-wise false positive rate | \(\alpha\) | alpha | Probability of one or more Type I error(s) | | Effect for \(Y_1\) | \(\beta_1^*\) | beta1 | Estimated intervention effect on the first outcome (\(Y_1\)) | | Effect for \(Y_2\) | \(\beta_2^*\) | beta2 | Estimated intervention effect on the second outcome (\(Y_2\)) | | Total variance of \(Y_1\) | \(\sigma_1^2\) | varY1 | Total variance of the first outcome, \(Y_1\) | | Total variance of \(Y_2\) | \(\sigma_2^2\) | varY2 | Total variance of the second outcome, \(Y_2\) | | Endpoint-specific ICC for \(Y_1\) | \(\rho_0^{(1)}\) | rho01 | Correlation for \(Y_1\) for two different individuals in the same cluster | | Endpoint-specific ICC for \(Y_2\) | \(\rho_0^{(2)}\) | rho02 | Correlation for \(Y_2\) for two different individuals in the same cluster | | Inter-subject between-endpoint ICC | \(\rho_1^{(1,2)}\) | rho1 | Correlation between \(Y_1\) and \(Y_2\) for two different individuals in the same cluster | | Intra-subject between-endpoint ICC | \(\rho_2^{(1,2)}\) | rho2 | Correlation between \(Y_1\) and \(Y_2\) for the same individual | | Treatment allocation ratio | \(r\) | r | Treatment allocation ratio; \(K_2 = rK_1\) where \(K_1\) is number of clusters in experimental group |

Function Description

Each method has a set of functions for calculating the statistical power (\(\pi\)), required number of clusters per treatment group (\(K\)), or cluster size (\(m\)) given a set of input parameters. The names of all functions offered in this package are listed below, organized by study design method.

1. P-Value Adjustments for Multiple Testing

2. Combined Outcomes Approach

3. Single 1-Degree of Freedom (DF) Combined Test for Two Outcomes

4. Disjunctive 2-DF Test for Two Outcomes

5. Conjunctive Intersection-Union Test for Two outcomes

Usage

# Example of using Method 1 for a power calculation
calc_pwr_pval_adj(K = 15, m = 300, alpha = 0.05,
                  beta1 = 0.1, beta2 = 0.1,
                  varY1 = 0.23, varY2 = 0.25,
                  rho01 = 0.025, rho02 = 0.025,
                  rho2  = 0.05, r = 1)

# Example of using Method 3 for number of clusters in treatment group (K) calculation
calc_K_single_1dftest(power = 0.8, m = 300, alpha = 0.05,
                      beta1 = 0.1, beta2 = 0.1,
                      varY1 = 0.23, varY2 = 0.25,
                      rho01 = 0.025, rho02 = 0.025,
                      rho1 = 0.01, rho2  = 0.05, r = 1)

# Example of using Method 5 for cluster size (m) calculation
calc_m_conj_test(power = 0.8, K = 15, alpha = 0.05,
                 beta1 = 0.1, beta2 = 0.1,
                 varY1 = 0.23, varY2 = 0.25,
                 rho01 = 0.025, rho02 = 0.025,
                 rho1 = 0.01, rho2  = 0.05, r = 1)

# Example of calculating power based on all five methods
run_crt2_design(output = "power", K = 15, m = 300, alpha = 0.05,
                beta1 = 0.1, beta2 = 0.1,
                varY1 = 0.23, varY2 = 0.25,
                rho01 = 0.025, rho02 = 0.025,
                rho1 = 0.01, rho2 = 0.05, r = 1)

Contact

For questions or comments, please email Melody Owen at melody.owen@yale.edu, or submit an issue to this repository.