# Ch4-Pow: The Wang-Tsiatis Power Alpha Spending Function In PwrGSD: Power in a Group Sequential Design

## Description

Stipulates alpha spending according to the Wang-Tsiatis Power function in the Lan-Demets boundary construction method. Its intended purpose is in constructing calls to `GrpSeqBnds` and `PwrGSD`.

## Usage

 `1` ```Pow(rho) ```

## Arguments

 `rho` The exponent for the Wang-Tsiatis power spending function

## Details

Larger `rho` results in more conservative boundaries. `rho`=3 is roughly equivalent to Obrien-Fleming spending. `rho`=1 spends `alpha` linearly in the information fraction

## Value

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

 `type` Gives the spending function type, which is the character string "Pow" `rho` the numeric value passed to the single argument, `rho` `call` returns the call

## Note

The print method returns the call by default

Grant Izmirlian

## References

see references under `PwrGSD`

`LanDemets`, `ObrienFleming`, `Pocock`, `GrpSeqBnds`, `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 29 30 31 32 33 34 35 36 37 38``` ```## example 1: what is the result of calling a spending function ## A call to 'Pow' just returns the call Pow(rho=2) ## It does argument checking...the following results in an error: ## Not run: Pow() ## End(Not run) ## it doesn't matter whether the argument is named or not, ## either produces the same result Pow(2) ## but really its value is a list with a component named ## 'type' equal to "Pow", a component named 'rho' equal ## to the numeric value passed to the single argument 'rho' ## and a component named 'call' equal to the call. names(Pow(rho=2)) names(Pow(2)) Pow(rho=2)\$type Pow(rho=2)\$rho Pow(rho=2)\$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) drift <- c(0.3836636,0.5117394,0.6918584,0.8657705,1.091984, 1.311094,1.538582,1.818346,2.081775,2.345386) test <- GrpSeqBnds(frac=frac, EfficacyBoundary=LanDemets(alpha=0.05, spending=Pow(2)), FutilityBoundary=LanDemets(alpha=0.10, spending=ObrienFleming), drift=drift) ```