getEffBounds: Compute efficacy stopping boundaries for an adaptive...

Description Usage Arguments Details Value References Examples

View source: R/buildTrial.R

Description

getEffBounds is based on asymptotic, multivariate normal distribution (also called canonical distribution) of test statistics (Rosenblum et al., 2016). getEffBounds_Maurer_Bretz_2013 uses method from Maurer Bretz (2013).

Let H01, H02 and H0C respectively denote the null hypotheses that there is no treatment effect in subpopulation 1, subpopulation 2 and the combined population.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
getEffBounds(p1, r1, r2, var_s1_trt, var_s1_con, var_s2_trt, var_s2_con,
  time_limit = 90, num_stages, n_total, n_per_stage, FWER,
  H01_eff_allocated = NULL, H02_eff_allocated = NULL,
  H0C_eff_allocated = NULL, FWER_allocation_matrix = NULL,
  delta_eff = NULL, H01_eff_total_allocated = NULL,
  H02_eff_total_allocated = NULL, H0C_eff_total_allocated = NULL, abseps,
  maxpts, errtol, ...)

getEffBounds_Maurer_Bretz_2013(p1, r1, r2, var_s1_trt, var_s1_con, var_s2_trt,
  var_s2_con, time_limit, num_stages, n_total = NULL, n_per_stage, FWER,
  H01_eff_allocated = NULL, H02_eff_allocated = NULL,
  H0C_eff_allocated = NULL, FWER_allocation_matrix = NULL,
  delta_eff = NULL, H01_eff_total_allocated = NULL,
  H02_eff_total_allocated = NULL, H0C_eff_total_allocated = NULL, abseps,
  maxpts, errtol, graph_edge_12, graph_edge_2C, graph_edge_C1, ...)

Arguments

p1

proportion of population in subpopulation 1.

r1

probability of being randomized to treatment in subpopulation 1

r2

probability of being randomized to treatment in subpopulation 2

var_s1_trt

variance of the outcome under treatment in subpopluation 1.

var_s1_con

variance of the outcome under control in subpopluation 1.

var_s2_trt

variance of the outcome under treatment in subpopluation 2.

var_s2_con

variance of the outcome under control in subpopluation 2.

time_limit

time limit for calculations

num_stages

number of stages for the trial

n_total

the total, maximum number of patients to recruit by the end of the study. If entered, n_per_stage will be scaled to have this sum.

n_per_stage

a vector with length equal to num_stages, telling the number of patient's outcomes to be observed in each stage. When there is no delay, this is equal to the number of patients enrolled per stage. When there is delay, this vector is not equal to the number of patients enrolled per stage.

FWER

Familywise Type I error rate for the trial.

H01_eff_allocated

a vector of length num_stages telling the proportion of Type I error to allocate to hypothesis H01 at each stage of the trial.

H02_eff_allocated

a vector of length num_stages telling the proportion of Type I error to allocate to hypothesis H02 at each stage of the trial.

H0C_eff_allocated

a vector of length num_stages telling the proportion of Type I error to allocate to hypothesis H0C at each stage of the trial.

FWER_allocation_matrix

a matrix telling the proportion of Type I error to allocation to each hypothesis at each stage. If entered, this will override H01_eff_allocated, H02_eff_allocated, and H0C_eff_allocated.

delta_eff

This determines the allocation of Type I error across stages if H01_eff_total_allocated, H02_eff_total_allocated and H0C_eff_total_allocated are set by the user. See the source code.

H01_eff_total_allocated

rather than setting the error allocated to each stage, the user can instead set the total error allocated to each hypothesis. H01_eff_total_allocated, H02_eff_total_allocated, and H0C_eff_total_allocated respectively tell the total Type I error to be allocated to H01, H02, and H0C. If set by the user, this will override the H01_eff_allocated vector.

H02_eff_total_allocated

see H01_eff_total_allocated.

H0C_eff_total_allocated

see H01_eff_total_allocated.

abseps

passed to pmvnorm in determining precision of calculations.

maxpts

passed to pmvnorm in determining precision of calculations.

errtol

determines precision of calculation of z-score boundary.

...

needed so that function ignores unused arguments when called by buildTrial

graph_edge_12

(Maurer, Bretz; 2013) The proportion of alpha to reallocate from H01 to H02 in the event that H01 is rejected

graph_edge_2C

(Maurer, Bretz; 2013) The proportion of alpha to reallocate from H02 to H0C in the event that H02 is rejected

graph_edge_C1

(Maurer, Bretz; 2013) The proportion of alpha to reallocate from H0C to H01 in the event that H0C is rejected

Details

getEffBounds strongly controls the familywise Type I error rate, based on the generalized error-spending approach that allocates alpha (Type I error) across stages and populations using the M_COV multiple testing procedure from Rosenblum et al. (2016). The algorithm for efficacy boundary construction involves sequential computation of the multivariate normal distribution using the package mvtnorm.

Value

A list of efficacy boundaries for the z-statistics corresponding to each null hypothesis.

References

Maurer, W. and Bretz, F. (2013). Multiple testing in group sequential trials using graphical approaches. Statistics in Biopharmaceutical Research.

Rosenblum, M., Qian, T., Du, Y., and Qiu, H., Fisher, A. (2016). Multiple Testing Procedures for Adaptive Enrichment Designs: Combining Group Sequential and Reallocation Approaches. Biostatistics. 17(4), 650-662. https://goo.gl/c8GlcH

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
## Not run: 

# Fully allocate the error for each stage
K <- 5
getEffBounds(p1 = 0.33,
	 r1 = 1/2,
	 r2 = 1/2,
	 var_s1_trt = 0.375*(1-0.375),
	 var_s1_con = 0.25*(1-0.25),
	 var_s2_trt = 0.325*(1-0.325),
	 var_s2_con = 0.2*(1-0.2),
	 num_stages = 5,
	 n_total = NULL,
	 n_per_stage = rep(200,K),
	 FWER = 0.025,
	 abseps = 0.000001,
	 errtol = .01,
	 maxpts = 10000,

	 H01_eff_allocated=rep(0.025/(3*K),K),
	 H02_eff_allocated=rep(0.025/(3*K),K),
	 H0C_eff_allocated=rep(0.025/(3*K),K)
	 )

# Boundaries for Maurer Bretz 2013
getEffBounds_Maurer_Bretz_2013(p1 = 0.33,
	 r1 = 1/2,
	 r2 = 1/2,
	 var_s1_trt = 0.375*(1-0.375),
	 var_s1_con = 0.25*(1-0.25),
	 var_s2_trt = 0.325*(1-0.325),
	 var_s2_con = 0.2*(1-0.2),
	 num_stages = 5,
	 n_total = NULL,
	 n_per_stage = rep(200,K),
	 FWER = 0.025,
	 abseps = 0.000001,
	 errtol = .01,
	 maxpts = 10000,

	 graph_edge_12=0.5,
	 graph_edge_2C=0.5,
	 graph_edge_C1=0.5,
	 time_limit = 100,

	 H01_eff_allocated=rep(0.025/(3*K),K),
	 H02_eff_allocated=rep(0.025/(3*K),K),
	 H0C_eff_allocated=rep(0.025/(3*K),K)
	 )



## End(Not run)

aaronjfisher/designOptim documentation built on May 21, 2019, 8:35 a.m.