The plot()
function has been extended to work with objects returned
by gsDesign()
and gsProbability()
. For objects of type
gsDesign
, seven types of plots are provided: z-values at boundaries
(default), power, approximate treatment effects at boundaries, conditional
power at boundaries, spending functions, expected sample size, and B-values
at boundaries. For objects of type gsProbability
plots are available
for z-values at boundaries, power (default), approximate treatment effects at
boundaries, conditional power, expected sample size and B-values at
boundaries.
The intent is that many standard plot()
parameters will function as
expected; exceptions to this rule exist. In particular, main, xlab,
ylab, lty, col, lwd, type, pch, cex
have been tested and work for most
values of plottype
; one exception is that type="l"
cannot be
overridden when plottype=2
. Default values for labels depend on
plottype
and the class of x
.
Note that there is some special behavior for values plotted and returned for
power and expected sample size (ASN) plots for a gsDesign
object. A
call to x<-gsDesign()
produces power and expected sample size for
only two theta
values: 0 and x$delta
. The call plot(x,
plottype="Power")
(or plot(x,plottype="ASN"
) for a gsDesign
object produces power (expected sample size) curves and returns a
gsDesign
object with theta
values determined as follows. If
theta
is non-null on input, the input value(s) are used. Otherwise,
for a gsProbability
object, the theta
values from that object
are used. For a gsDesign
object where theta
is input as
NULL
(the default), theta=seq(0,2,.05)*x$delta
) is used. For
a gsDesign
object, the x-axis values are rescaled to
theta/x$delta
and the label for the x-axis \(theta / delta\). For a
gsProbability
object, the values of theta
are plotted and are
labeled as \(theta\). See examples below.
Approximate treatment effects at boundaries are computed dividing the Z-values
at the boundaries by the square root of n.I
at that analysis.
Spending functions are plotted for a continuous set of values from 0 to 1.
This option should not be used if a boundary is used or a pointwise spending
function is used (sfu
or sfl="WT", "OF", "Pocock"
or
sfPoints
).
Conditional power is computed using the function gsBoundCP()
. The
default input for this routine is theta="thetahat"
which will compute
the conditional power at each bound using the approximate treatment effect at
that bound. Otherwise, if the input is gsDesign
object conditional
power is computed assuming theta=x$delta
, the original effect size
for which the trial was planned.
Average sample number/expected sample size is computed using n.I
at
each analysis times the probability of crossing a boundary at that analysis.
If no boundary is crossed at any analysis, this is counted as stopping at
the final analysis.
B-values are Z-values multiplied by sqrt(t)=sqrt(x$n.I/x$n.I[x$k])
.
Thus, the expected value of a B-value at an analysis is the true value of
\(theta\) multiplied by the proportion of total planned observations at
that time. See Proschan, Lan and Wittes (2006).