# sfexp: 4.3: Exponential Spending Function In keaven/gsDesign: Group Sequential Design

## Description

The function `sfExponential` implements the exponential spending function (Anderson and Clark, 2009). Normally `sfExponential` will be passed to `gsDesign` in the parameter `sfu` for the upper bound or `sfl` for the lower bound to specify a spending function family for a design. In this case, the user does not need to know the calling sequence. The calling sequence is useful, however, when the user wishes to plot a spending function as demonstrated below in examples.

## Usage

 `1` ```sfExponential(alpha, t, param) ```

## Arguments

 `alpha` Real value > 0 and no more than 1. Normally, `alpha=0.025` for one-sided Type I error specification or `alpha=0.1` for Type II error specification. However, this could be set to 1 if for descriptive purposes you wish to see the proportion of spending as a function of the proportion of sample size/information. `t` A vector of points with increasing values from 0 to 1, inclusive. Values of the proportion of sample size/information for which the spending function will be computed. `param` A single positive value specifying the nu parameter for which the exponential spending is to be computed; allowable range is (0, 1.5].

## Details

An exponential spending function is defined for any positive `nu` and 0≤ t≤ 1 as

f(t;alpha,nu)=alpha^(t^(-nu)).

A value of `nu=0.8` approximates an O'Brien-Fleming spending function well.

The general class of spending functions this family is derived from requires a continuously increasing cumulative distribution function defined for x>0 and is defined as

f(t; alpha, nu)=1-F(F^(-1)(1-alpha)/ t^nu).

The exponential spending function can be derived by letting F(x)=1-\exp(-x), the exponential cumulative distribution function. This function was derived as a generalization of the Lan-DeMets (1983) spending function used to approximate an O'Brien-Fleming spending function (`sfLDOF()`),

f(t; alpha)=2-2*Phi(Phi^(-1)(1-alpha/2)/t^(1/2)).

## Value

An object of type `spendfn`.

## Note

The manual shows how to use `sfExponential()` to closely approximate an O'Brien-Fleming design. An example is given below. The manual is not linked to this help file, but is available in library/gsdesign/doc/gsDesignManual.pdf in the directory where R is installed.

## Author(s)

Keaven Anderson keaven\[email protected]

## References

Anderson KM and Clark JB (2009), Fitting spending functions. Statistics in Medicine; 29:321-327.

Jennison C and Turnbull BW (2000), Group Sequential Methods with Applications to Clinical Trials. Boca Raton: Chapman and Hall.

Lan, KKG and DeMets, DL (1983), Discrete sequential boundaries for clinical trials. Biometrika; 70:659-663.

Spending function overview, `gsDesign`, gsDesign package overview
 ``` 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``` ```# use 'best' exponential approximation for k=6 to O'Brien-Fleming design # (see manual for details) gsDesign(k=6, sfu=sfExponential, sfupar=0.7849295, test.type=2)\$upper\$bound # show actual O'Brien-Fleming bound gsDesign(k=6, sfu="OF", test.type=2)\$upper\$bound # show Lan-DeMets approximation # (not as close as sfExponential approximation) gsDesign(k=6, sfu=sfLDOF, test.type=2)\$upper\$bound # plot exponential spending function across a range of values of interest t <- 0:100/100 plot(t, sfExponential(0.025, t, 0.8)\$spend, xlab="Proportion of final sample size", ylab="Cumulative Type I error spending", main="Exponential Spending Function Example", type="l") lines(t, sfExponential(0.025, t, 0.5)\$spend, lty=2) lines(t, sfExponential(0.025, t, 0.3)\$spend, lty=3) lines(t, sfExponential(0.025, t, 0.2)\$spend, lty=4) lines(t, sfExponential(0.025, t, 0.15)\$spend, lty=5) legend(x=c(.0, .3), y=.025*c(.7, 1), lty=1:5, legend=c("nu = 0.8", "nu = 0.5", "nu = 0.3", "nu = 0.2", "nu = 0.15")) text(x=.59, y=.95*.025, labels="<--approximates O'Brien-Fleming") ```