sfExponential implements the exponential spending function (Anderson and Clark, 2009).
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
Real value > 0 and no more than 1. Normally,
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.
A single positive value specifying the nu parameter for which the exponential spending is to be computed; allowable range is (0, 1.5].
An exponential spending function is defined for any positive
nu and 0≤ t≤ 1 as
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 (
An object of type
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.
Keaven Anderson keaven\[email protected]
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")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.