Learn R Programming

gsDesignNB (version 0.2.6)

toInteger: Convert group sequential design to integer sample sizes

Description

Generic function to round sample sizes in a group sequential design to integers. This extends the gsDesign::toInteger() function from the gsDesign package to work with gsNB objects.

Usage

toInteger(x, ...)

# S3 method for gsDesign toInteger(x, ratio = x$ratio, roundUpFinal = TRUE, ...)

# S3 method for gsNB toInteger(x, ratio = x$nb_design$inputs$ratio, roundUpFinal = TRUE, ...)

Value

An object of the same class as input with integer sample sizes.

Arguments

x

An object of class gsNB or gsDesign.

...

Additional arguments passed to methods.

ratio

Randomization ratio (n2/n1). If an integer is provided, rounding is done to a multiple of ratio + 1. If ratio < 1 and 1/ratio is an integer (e.g., 1:2 allocation, ratio = 0.5), rounding is done to a multiple of 1/ratio + 1. Default uses the ratio from the original design.

roundUpFinal

If TRUE (default), the final sample size is rounded up to ensure the target is met. If FALSE, rounding is to the nearest integer.

Methods (by class)

  • toInteger(gsDesign): Method for gsDesign objects (calls gsDesign::toInteger()).

  • toInteger(gsNB): Method for gsNB objects.

    Rounds sample sizes in a group sequential negative binomial design to integers, respecting the randomization ratio.

Details

This function rounds sample sizes at each analysis to integers while maintaining the randomization ratio and ensuring monotonically increasing sample sizes across analyses. Only the final analysis sample size is rounded to an integer; interim sample sizes remain as expected (non-integer) values based on the information fraction.

When analysis_times were provided to gsNBCalendar(), the statistical information (n.I) is recomputed at each analysis time based on the new sample size and expected exposures.

Examples

Run this code
nb_ss <- sample_size_nbinom(
  lambda1 = 0.5, lambda2 = 0.3, dispersion = 0.1, power = 0.9,
  accrual_rate = 10, accrual_duration = 20, trial_duration = 24
)
gs_design <- gsNBCalendar(nb_ss, k = 3, analysis_times = c(12, 18, 24))
gs_integer <- toInteger(gs_design)

Run the code above in your browser using DataLab