Learn R Programming

PowerTOST (version 1.3-5)

sampleN.dp: Sample size estimation of dose-proportionality studies evaluated via Power model

Description

Performes a sample size estimation for dose-proportionality studies using the Power model for cossover (Latin square), parallel group designs or incomplete block designs via a confidence interval equivalence criterion.

Usage

sampleN.dp(alpha = 0.05, CV, doses, targetpower = 0.8, beta0, theta1 = 0.8, 
           theta2 = 1/theta1, design = c("crossover", "parallel", "IBD"), 
           dm=NULL, CVb, print = TRUE, details = FALSE, imax = 100)

Arguments

alpha
Type 1 error. Usually taken as 0.05.
CV
Coefficient of variation. Is intra-subject CV for design="crossover" and CV of total variability in case of design="parallel"
doses
Vector of dose values under study. At least 2 doses have to be given.
targetpower
Power to achieve at least. Must be >0 and
beta0
'True' slope of power model. If missing defaults to 1+log(0.95)/log(rd) where rd is the ratio is the ratio of highest to lowest dose. Has to be within slope acceptance range according to 1+log(theta1)/log(rd) and 1+log(th
theta1
Lower acceptance limit for the ratio of dose normalized means (Rdmn). Transformes into slope acceptance range as described under item beta0.
theta2
Upper acceptance limit for the ratio of dose normalized means (Rdmn).
design
Crossover design (default), parallel group design or incomplete block design (IBD). Crossover design means Latin square design with number of doses as dimension.
dm
'Design matrix' of the incomplete block design (IBD) if design="IBD". This matrix contains the sequences in rows and periods in columns. The entry (i,j) of the design matrix corresponds to the dose (index) a subject with i-th sequence get
CVb
Coefficient of variation of the between-subject variability. Only necessary if design="IBD". Will be set to 2*CV if missing. Set CVb=0 if all-effects-fixed model shall be used. This model gives lower sample sizes th
print
If TRUE (default) the function prints its results. If set to FALSE only the data.frame with the results will be returned.
details
If details=TRUE the steps during sample size search will be shown. Defaults to FALSE.
imax
Maximum number of steps in sample size search. Defaults to 100. Adaption only in rare cases needed, if any.

Value

  • A data.frame with the input and results will be returned. The "Sample size" column contains the total sample size.

Warning

This function is 'experimental' only since it is not thorougly tested yet. Especially for design="IBD" reliable test cases are missing.

Details

The sample size is calculated via iterative evaluation of power.dp(). Start value for the sample size search is taken from a large sample approximation. The sample size is bound to number of dose or sequence groups as minimum. Balanced designs are used although this is not absolutely necessary.

References

Patterson, Jones "Bioequivalence and Statistics in Clinical Pharmacology" Chapman & Hall/CRC, Boca Raton, 2006, page 239 (contains presumably a bug) Hummel J, McKendrick S, Brindley C, and R French "Exploratory assessment of dose proportionality: review of current approaches and proposal for a practical criterion" Pharmaceut Statist 8(1), 38-49 (2009) Sethuraman VS, Leonov S, Squassante L, Mitchell TR, Hale MD "Sample size calculation for the Power Model for dose proportionality studies" Pharm Stat. Vol. 6(1):35-41 (2007)

See Also

power.dp, bib.CL

Examples

Run this code
# using all the defaults, i.e. crossover design, alpha=0.05
# theta1=0.8, theta2=1.25 but true slope slightly off 1
sampleN.dp(CV=0.2, doses=c(1, 2, 8), beta0=1.02)
# should give n=18, power=0.854528

# incomplete block design mentioned in Sethuraman et al.
# with 5 doses, 20 sequences, 3 periods
# (I hope at least that the design is that they used)
library(crossdes)
# IBD based on mutually orthogonal Latin squares
ibd <- des.MOLS(trt=5, k=3)
CVb <- mse2CV(0.8) # Sethuraman et al. omega squared
sampleN.dp(CV=0.2, doses=c(5, 25, 50, 100, 200), beta0=1, design="IBD", dm=ibd, CVb=CVb)
# power of that design near 90% with n=30, sequence group unbalanced 
power.dp(CV=0.2, doses=c(5, 25, 50, 100, 200), n=30, beta0=1, design="IBD", dm=ibd, CVb=CVb)

Run the code above in your browser using DataLab