sfPoints | R Documentation |
The function sfPoints
implements a spending function with values
specified for an arbitrary set of specified points. It is now recommended to
use sfLinear rather than sfPoints. Normally sfPoints
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,
just the points they wish to specify. If using sfPoints()
in a
design, it is recommended to specify how to interpolate between the
specified points (e.g,, linear interpolation); also consider fitting smooth
spending functions; see vignette("SpendingFunctionOverview")
.
sfPoints(alpha, t, param)
alpha |
Real value |
t |
A vector of points with increasing values from >0 and <=1. Values of the proportion of sample size/information for which the spending function will be computed. |
param |
A vector of the same length as |
An object of type spendfn
. See spending functions for further
details.
The gsDesign technical manual is available at https://keaven.github.io/gsd-tech-manual/.
Keaven Anderson keaven_anderson@merck.com
Jennison C and Turnbull BW (2000), Group Sequential Methods with Applications to Clinical Trials. Boca Raton: Chapman and Hall.
vignette("SpendingFunctionOverview")
, gsDesign
,
vignette("gsDesignPackageOverview")
, sfLogistic
library(ggplot2)
# example to specify spending on a pointwise basis
x <- gsDesign(
k = 6, sfu = sfPoints, sfupar = c(.01, .05, .1, .25, .5, 1),
test.type = 2
)
x
# get proportion of upper spending under null hypothesis
# at each analysis
y <- x$upper$prob[, 1] / .025
# change to cumulative proportion of spending
for (i in 2:length(y))
y[i] <- y[i - 1] + y[i]
# this should correspond to input sfupar
round(y, 6)
# plot these cumulative spending points
plot(1:6 / 6, y,
main = "Pointwise spending function example",
xlab = "Proportion of final sample size",
ylab = "Cumulative proportion of spending",
type = "p"
)
# approximate this with a t-distribution spending function
# by fitting 3 points
tx <- 0:100 / 100
lines(tx, sfTDist(1, tx, c(c(1, 3, 5) / 6, .01, .1, .5))$spend)
text(x = .6, y = .9, labels = "Pointwise Spending Approximated by")
text(x = .6, y = .83, "t-Distribution Spending with 3-point interpolation")
# example without lower spending at initial interim or
# upper spending at last interim
x <- gsDesign(
k = 3, sfu = sfPoints, sfupar = c(.25, .25),
sfl = sfPoints, sflpar = c(0, .25)
)
x
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.