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 class 'gsDesign'
toInteger(x, ratio = x$ratio, roundUpFinal = TRUE, ...)
# S3 method for class 'gsNB'
toInteger(x, ratio = x$nb_design$inputs$ratio, roundUpFinal = TRUE, ...)Arguments
- x
An object of class
gsNBorgsDesign.- ...
Additional arguments passed to methods.
- ratio
Randomization ratio (n2/n1). If an integer is provided, rounding is done to a multiple of
ratio + 1. Ifratio < 1and1/ratiois an integer (e.g., 1:2 allocation, ratio = 0.5), rounding is done to a multiple of1/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. IfFALSE, rounding is to the nearest integer.
Details
This function rounds the final sample size while maintaining the randomization ratio. When calendar analysis times are available, interim sample sizes remain expected enrollment counts at those calendar times after rescaling the accrual rate to the rounded final sample size.
When analysis_times were provided to gsNBCalendar(),
expected events, exposure, and statistical information (n.I) are recomputed
at each analysis time based on the new sample size and expected exposures.
Methods (by class)
toInteger(gsDesign): Method forgsDesignobjects (callsgsDesign::toInteger()).toInteger(gsNB): Method forgsNBobjects.Rounds sample sizes in a group sequential negative binomial design to integers, respecting the randomization ratio.
Examples
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)