# Ch7-Haybittle: The Haybittle method of Boundary Construction In PwrGSD: Power in a Group Sequential Design

## Description

The function `Haybittle` is used in calls to the functions `GrpSeqBnds` and `PwrGSD` as a possible setting for the argument `EfficacyBoundary`. NOTE: the Haybittle method is not used for construction a futility boundary (does this even make sense?). The Haybittle method is one of four currently availiable choices, the others being `LanDemets`, `SC` (stochastic curtailment), and user specified.

## Usage

 `1` ```Haybittle(alpha, b.Haybittle, from = NULL, to = NULL) ```

## Arguments

 `alpha` The total probability of type I error. `b.Haybittle` User specified efficacy boundary at all but the last analysis. `from` WARNING EXPERIMENTAL: See the documentation under `LanDemets` or `SC`. I'm not quite sure if this works or even makes sense. Don't use it, ok? `to` See above.

## Details

The Haybittle method is the simplest of all methods for efficacy boundary construction. You just specify a value such as 3 which is so large that multiple testing with standard normal criterion 3 (upper quantile is 0.00135) means that after 20 analyses you've spent only 0.027. The value of the criterion for the final analysis is determined so that the total type I error is obtained.

## Value

An object of class `boundary.construction.method` which is really a list with the following components. The print method displays the original call.

 `type` Gives the boundary construction method type, which is the character string "Haybittle" `alpha` The numeric value passed to the argument 'alpha' which is the total probability of type I error. `b.Haybittle` The numeric value passed to the argument 'b.Haybittle' which is the user specified efficacy boundary at all but the last analysis. `from` Description of 'comp2' `to` You're not using this, right? `call` see above.

## Note

The print method returns the call by default

Grant Izmirlian

## References

see references under `PwrGSD`

`LanDemets`, `SC`, `GrpSeqBnds`, and `PwrGSD`
 ``` 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``` ```## example 1: what is the result of calling a Boundary Construction Method function ## A call to 'Haybittle' just returns the call Haybittle(alpha=0.05, b.Haybittle=3) ## It does arguement checking...this results in an error ## Not run: Haybittle(alpha=0.05) ## End(Not run) ## but really its value is a list with the a component containing ## the boundary method type, "LanDemts", and components for each ## of the arguments. names(Haybittle(alpha=0.05, b.Haybittle=3)) Haybittle(alpha=0.05, b.Haybittle=3)\$type Haybittle(alpha=0.05, b.Haybittle=3)\$alpha Haybittle(alpha=0.05, b.Haybittle=3)\$b.Haybittle Haybittle(alpha=0.05, b.Haybittle=3)\$call ## example 2: ...But the intended purpose of the spending functions its ## intended purpose is in constructing calls to 'GrpSeqBnds' and to 'PwrGSD': frac <- c(0.07614902,0.1135391,0.168252,0.2336901,0.3186155, 0.4164776,0.5352199,0.670739,0.8246061,1) test <- GrpSeqBnds(frac=frac, EfficacyBoundary=Haybittle(alpha=0.025, b.Haybittle=3)) ```