Package 'GenTwoArmsTrialSize'

Title: Generalized Two Arms Clinical Trial Sample Size Calculation
Description: Two arms clinical trials required sample size is calculated in the comprehensive parametric context. The calculation is based on the type of endpoints(continuous/binary/time-to-event/ordinal), design (parallel/crossover), hypothesis tests (equality/noninferiority/superiority/equivalence), trial arms noncompliance rates and expected loss of follow-up. Methods are described in: Chow SC, Shao J, Wang H, Lokhnygina Y (2017) <doi:10.1201/9781315183084>, Wittes, J (2002) <doi:10.1093/epirev/24.1.39>, Sato, T (2000) <doi:10.1002/1097-0258(20001015)19:19%3C2689::aid-sim555%3E3.0.co;2-0>, Lachin J M, Foulkes, M A (1986) <doi:10.2307/2531201>, Whitehead J(1993) <doi:10.1002/sim.4780122404>, Julious SA (2023) <doi:10.1201/9780429503658>.
Authors: Mohsen Soltanifar [aut] , Chel Hee Lee [cre, aut]
Maintainer: Chel Hee Lee <[email protected]>
License: GPL-3
Version: 0.0.5
Built: 2024-12-12 06:48:02 UTC
Source: CRAN

Help Index


General Formulas for Sample Size Calculation

Description

This function computes the sample size required for two arms clinical trials with continuous outcome measure. Four hypothesis tests are available under two allocation designs.

Usage

getSizeMean(
  design = c("parallel", "crossover"),
  test = c("equality", "noninferiority", "superiority", "equivalence"),
  alpha = 0.05,
  beta = 0.2,
  sigma,
  k = 1,
  delta = 0,
  TTE,
  rho = c(0.05, 0.07),
  r = 0.1
)

Arguments

design

allocation method (parallel or crossover).

test

four hypothesis tests: equality, noninferiority, superiority, and equivalence.

alpha

level of significance.

beta

type II error.

sigma

pooled standard deviation of two groups.

k

ratio of control to treatment.

delta

delta margin in test hypothesis.

TTE

target treatment effect or effect size.

rho

vector of length 2, positive noncompliance rates of two arms.

r

projected proportion of trial uniform loss of follow-up.

Value

sample size per arm.

Examples

# Ex 1. (n_trt=91, n_ctl=91)
getSizeMean(design="parallel", test="equality", alpha=0.05, beta=0.20,
  sigma=0.10, k=1, delta=0, TTE=0.05, rho=c(0.05, 0.07), r=0.1)

getSizeMean(design="parallel", test="noninferiority", alpha=0.05,
 beta=0.20, sigma=0.10, k=1, delta=-0.05, TTE=0, rho=c(0.05, 0.07), r=0.1)

# Ex 3. (n_trt=1022, n_ctl=1022)
getSizeMean(design="parallel", test="superiority", alpha=0.05, beta=0.20,
  sigma=0.10, k=1, delta=0.05, TTE=0.07, rho=c(0.05, 0.07), r=0.1)

# Ex 4. (n_trt=113, n_ctl=113)
getSizeMean(design="parallel", test="equivalence", alpha=0.05, beta=0.20,
  sigma=0.10, k=1, delta=0.05, TTE=0.01, rho=c(0.05, 0.07), r=0.1)

# Ex 5. (n_trt=23, n_ctl=23)
getSizeMean(design="crossover", test="equality", alpha=0.05, beta=0.20,
 sigma=0.10, k=1, delta=0, TTE=0.05, rho=c(0.05, 0.07), r=0.1)

# Ex 6. (n_trt=14, n_ctl=14)
getSizeMean(design="crossover", test="noninferiority", alpha=0.05,
 beta=0.20, sigma=0.10, k=1, delta=-0.05, TTE=0, rho=c(0.05, 0.07), r=0.1)

# Ex 7. (n_trt=21, n_ctl=21)
getSizeMean(design="crossover", test="superiority", alpha=0.05, beta=0.20,
 sigma=0.10, k=1, delta=0.05, TTE=0.01, rho=c(0.05, 0.07), r=0.1)

# Ex 8. (n_trt=29, n_ctl=29)
getSizeMean(design="crossover", test="equivalence", alpha=0.05, beta=0.20,
 sigma=0.10, k=1, delta=0.05, TTE=0.01, rho=c(0.05, 0.07), r=0.1)

General Formulas for Sample Size Calculation

Description

This function computes the sample size required for two arms clinical trials with ordinal outcome measure. Four hypothesis tests are available under two allocation designs.

Usage

getSizeOrd(
  design = c("parallel", "crossover"),
  test = c("equality", "noninferiority", "superiority", "equivalence"),
  alpha = 0.05,
  beta = 0.2,
  varcatprob,
  k = 1,
  theta,
  delta = 0,
  rho = c(0.05, 0.07),
  r = 0.1
)

Arguments

design

allocation method (parallel or crossover).

test

four hypothesis tests: equality, noninferiority, superiority, and equivalence.

alpha

level of significance.

beta

type II error.

varcatprob

list of two probability vectors per treatment arm

k

ratio of control to treatment.

theta

log odds ratio of outcome in treatment arm versus control arm

delta

delta margin in test hypothesis.

rho

vector of length 2, positive noncompliance rates of two arms.

r

projected proportion of trial uniform loss of follow-up.

Value

sample size per arm.

Examples

# Ex 1. (n_trt=135, n_ctl=135)
getSizeOrd(design="parallel", test="equality", alpha=0.05, beta=0.10,
 varcatprob = list(c(0.2,0.5,0.2,0.1), c(0.378,0.472,0.106,0.044)),
 k=1, theta=0.887, delta=0, rho=c(0.05, 0.07), r=0.1)

# Ex 2. (Check back next version)
getSizeOrd(design="crossover", test="equality", alpha=0.05, beta=0.10,
 varcatprob = list(c(0.2,0.5,0.2,0.1), c(0.378,0.472,0.106,0.044)),
 k=1, theta=0.887, delta=0, rho=c(0.05, 0.07), r=0.1)

General Formulas for Sample Size Calculation

Description

This function computes the sample size required for two arms clinical trials with binary outcome measure. Four hypothesis tests are available under two allocation designs.

Usage

getSizeProp(
  design = c("parallel", "crossover"),
  test = c("equality", "noninferiority", "superiority", "equivalence"),
  alpha = 0.05,
  beta = 0.2,
  varsigma,
  k = 1,
  seqnumber,
  delta = 0,
  TTE,
  rho = c(0.05, 0.07),
  r = 0.1
)

Arguments

design

allocation method (parallel or crossover).

test

four hypothesis tests: equality, noninferiority, superiority, and equivalence.

alpha

level of significance.

beta

type II error.

varsigma

(varsigma1 > 0, varsigma2 > 0) := (p1, p2) probability of mean response in control and treatment arms; (varsigma1 > 0, varsigma2 > 0) := (sigma, sigma) pooled standard deviation of two groups or their difference (sigma>0)

k

ratio of control to treatment.

seqnumber

Number of crossover sequences: 0 if parallel; 1+ if crossover (seqnumber>=0)

delta

delta margin in test hypothesis.

TTE

target treatment effect or effect size.

rho

vector of length 2, positive noncompliance rates of two arms.

r

projected proportion of trial uniform loss of follow-up.

Value

sample size per arm.

Examples

# Ex 1. (n_trt=102, n_ctl=102)
getSizeProp(design="parallel", test="equality", alpha=0.05, beta=0.20,
 varsigma=c(0.65, 0.85), k=1, seqnumber=0, delta=0, TTE=0,
 rho=c(0.05, 0.07), r=0.1)

# Ex 2. (n_trt=33, n_ctl=33)
getSizeProp(design="parallel", test="noninferiority", alpha=0.05, beta=0.20,
 varsigma=c(0.65,0.85), k=1, seqnumber=0, delta=-0.10, TTE=0.20,
 rho=c(0.05, 0.07), r=0.1)

# Ex 3. (n_trt=157, n_ctl=157)
getSizeProp(design="parallel", test="superiority", alpha=0.05, beta=0.20,
 varsigma=c(0.65,0.85), k=1, seqnumber=0, delta=0.05, TTE=0.20,
 rho=c(0.05, 0.07), r=0.1)

# Ex 4. (n_trt=137, n_ctl=137)
getSizeProp(design="parallel", test="equivalence", alpha=0.05, beta=0.20,
 varsigma=c(0.75,0.80), k=1, seqnumber=0, delta=0.20, TTE=0.05,
 rho=c(0.05, 0.07), r=0.1)

# Ex 5. (n_trt=36, n_ctl=36)
getSizeProp(design="crossover", test="equality", alpha=0.05, beta=0.20,
 varsigma=c(0.5,0.5), k=1, seqnumber=2, delta=0, TTE=0.20,
 rho=c(0.05, 0.07), r=0.1)

# Ex 6. (n_trt=22, n_ctl=22)
getSizeProp(design="crossover", test="noninferiority", alpha=0.05,
 beta=0.20, varsigma=c(0.5,0.5), k=1, seqnumber=2, delta=-0.20, TTE=0,
 rho=c(0.05, 0.07), r=0.1)

# Ex 7. (n_trt=86, n_ctl=86)
getSizeProp(design="crossover", test="superiority", alpha=0.05, beta=0.20,
 varsigma=c(0.5,0.5), k=1, seqnumber=2, delta=0.10, TTE=0,
 rho=c(0.05, 0.07), r=0.1)

# Ex 8. (n_trt=30, n_ctl=30)
getSizeProp(design="crossover", test="equivalence", alpha=0.05, beta=0.20,
 varsigma=c(0.5,0.5), k=1, seqnumber=2, delta=0.20, TTE=0,
 rho=c(0.05, 0.07), r=0.1)

General Formulas for Sample Size Calculation

Description

This function computes the sample size required for two arms clinical trials with TTE outcome measure. Four hypothesis tests are available under two allocation designs.

Usage

getSizeTTE(
  design = c("parallel", "crossover"),
  test = c("equality", "noninferiority", "superiority", "equivalence"),
  alpha = 0.05,
  beta = 0.2,
  varlambda,
  k = 1,
  ttotal,
  taccrual,
  gamma,
  delta = 0,
  rho = c(0.05, 0.07),
  r = 0.1
)

Arguments

design

allocation method (parallel or crossover).

test

four hypothesis tests: equality, noninferiority, superiority, and equivalence.

alpha

level of significance.

beta

type II error.

varlambda

(varlambda1>0,varlambda2>0):=(lam1,lam2) hazard rates in control and treatment arms

k

ratio of control to treatment.

ttotal

total trial time (ttoal>0)

taccrual

accrual time period (taccrual>0)

gamma

parameter of exponential distribution (gamma>=0)

delta

delta margin in test hypothesis.

rho

vector of length 2, positive noncompliance rates of two arms.

r

projected proportion of trial uniform loss of follow-up.

Value

sample size per arm.

Examples

# Ex 1. (n_trt=56, n_ctl=56)
getSizeTTE(design="parallel", test="equality", alpha=0.05, beta=0.20,
 varlambda=c(1,2), k=1, ttotal=3, taccrual=1, gamma=0.00001, delta=0,
 rho=c(0.05, 0.07), r=0.1)

# Ex 2. (n_trt=30, n_ctl=30)
getSizeTTE(design="parallel", test="noninferiority", alpha=0.05, beta=0.20,
 varlambda=c(1,2), k=1, ttotal=3, taccrual=1, gamma=0.00001, delta= -0.2,
 rho=c(0.05, 0.07), r=0.1)

# Ex 3. (n_trt=74, n_ctl=74)
getSizeTTE(design="parallel", test="superiority", alpha=0.05, beta=0.20,
varlambda=c(1,2), k=1, ttotal=3, taccrual=1, gamma=0.00001, delta=0.20,
rho=c(0.05, 0.07), r=0.1)

# Ex 4. (n_trt=84, n_ctl=84)
getSizeTTE(design="parallel", test="equivalence", alpha=0.05, beta=0.20,
 varlambda=c(1,1), k=1, ttotal=3, taccrual=1, gamma=0.00001, delta=0.5,
 rho=c(0.05, 0.07), r=0.1)

# Ex 5. (Check back next version)
getSizeTTE(design="crossover", test="equality", alpha=0.05, beta=0.20,
 varlambda=c(1,1), k=1, ttotal=3, taccrual=1, gamma=0.00001, delta=0.5,
 rho=c(0.05, 0.07), r=0.1)

# Ex 6. (Check back next version)
getSizeTTE(design="crossover", test="noninferiority", alpha=0.05,
 beta=0.20, varlambda=c(1,1), k=1, ttotal=3, taccrual=1, gamma=0.00001,
 delta=0.5, rho=c(0.05, 0.07), r=0.1)

# Ex 7. (Check back next version)
getSizeTTE(design="crossover", test="superiority", alpha=0.05, beta=0.20,
 varlambda=c(1,1), k=1, ttotal=3, taccrual=1, gamma=0.00001, delta=0.5,
 rho=c(0.05, 0.07), r=0.1)

# Ex 8. (Check back next version)
getSizeTTE(design="crossover", test="equivalence", alpha=0.05, beta=0.20,
 varlambda=c(1,1), k=1, ttotal=3, taccrual=1, gamma=0.00001, delta=0.5,
 rho=c(0.05, 0.07), r=0.1)