We have made the spending function summary output more readable and informative.
a b = 0.5 1.5
is now
displayed as a = 0.5, b = 1.5
(@jdblischak, #162).summary()
method for sfLDOF()
no
longer includes the redundant none = 1
in its output (@jdblischak, #159).sfupar
in sfLDOF()
to create a generalized O’Brien-Fleming
spending function (@keaven, 52cc711, 99996b).sfXG1()
, sfXG2()
, and sfXG3()
based on Xi and Gallo (2019). See
vignette("ConditionalErrorSpending")
for details and
reproduced examples from the literature (@keaven, #147. Thanks, @xidongdxi, for comments on
vignette).eEvents()
with input validation to ensure
lambda
is not NULL
(@keaven, 97f629d).gsSurvCalendar()
(@myeongjong, #144).gsBinomialExact()
(@menglu2, #143).vignette("ConditionalPowerPlot")
(beb2957, 727fe20, 57394fe).gsBoundSummary()
now has the as_rtf()
method implemented to generate RTF outputs for bound summary tables
(@wangben718,
#107).plotgsPower()
gets new arguments offset
and titleAnalysisLegend
to enable more flexible and
accurate power plots (plottype = 2
) (@jdblischak, #121, #123).dplyr::reframe()
to
replace dplyr::summarize()
when performing grouped
cumsum()
(@jdblischak, #114)..data
pronoun from rlang with ggplot2::aes()
. This simplifies the
code and follows the recommended practice when using ggplot2 in packages
(@jdblischak,
#124).hGraph()
now uses named guide
argument in
the scale_fill_manual()
call to be compatible with ggplot2
3.5.0 (@teunbrand,
#115). Note: this function has been deprecated and
moved to gMCPLite since gsDesign 3.4.0. It will be removed from gsDesign
in a future version. Please use gMCPLite::hGraph()
instead.vignettes("SurvivalOverview")
is updated with more
details and minor corrections (@keaven, #126).gsSurv()
and nSurv()
have updated default
values for T
and minfup
so that function calls
with no arguments will run. Legacy code with T
or
minfup
not explicitly specified could break (#105).gsSurvCalendar()
function added to enable group
sequential design for time-to-event outcomes using calendar timing of
interim analysis specification (#105).as_rtf()
method for gsBinomialExact()
objects added, enable RTF table outputs for standard word processing
software (#102).toBinomialExact()
and gsBinomialExact()
:
fix error checking in bound computations, improve documentation and
error messages (#105).print.gsSurv()
: Improve the display of targeted events
(very minor). The boundary crossing probability computations did not
change. The need is made evident by the addition of the
toInteger()
function (#105).toInteger()
: Fix the documentation and execution based
on the ratio
argument (#105).sfPower()
now allows a wider parameter range (0,
15].toInteger()
function added to convert
gsDesign
or gsSurv
classes to integer sample
size and event counts.toBinomialExact()
function added to convert
time-to-event bounds to exact binomial for low event rate studies.as_table()
and as_gt()
methods for
gsBinomialExact
objects added, as described in the new
“Binomial SPRT” vignette.plot.ssrCP()
, the hat
syntax in the
mathematical expression is revised, resolving labeling issues.ggplot2::qplot()
usage replaced due to its deprecation
in ggplot2 3.4.0.gsCP()
interim test statistic zi
(#63).hGraph()
and suggested
using gMCPLite::hGraph()
instead (#70).Depends
to Imports
(#56).inherits()
instead of is()
to
determine if an object is an instance of a class, when appropriatehGraph()
to support ggplot2 versions of
multiplicity graphssequentialPValue
sequentialPValue
functiongsDesign
and gsSurv
R CMD check
warningsnBinomial1Sample()
nBinomial1Sample()
to improve error handling
and claritysfLDOF()
to generalize with rho parameter;
still backwards compatible for Lan-DeMets O’Brien-FleminggsDesign()
function and the
change is the addition of the parameters usTime
and
lsTime
; default behavior is backwards compatible.gsCP()
opts()
importFrom
statements - and DESCRIPTION - adding plyr to
imports) ensuring appropriate references.xtable.gsSurv
and print.gsSurv
to
work with 1-sided designsshow.legend
arguments where used in
ggplot2::geom_text
calls; no user impactsfLogistic
help filesfTrimmed
as likely preferred spending function
approach to skipping early or all interim efficacy analyses; this also
can adjust bound when final analysis is performed with less than maximum
planned information. Updated help(sfTrimmed)
to demonstrate
these capabilities.sfGapped
, which is primarily intended to
eliminate futility analyses later in a study; see
help(sfGapped)
for an examplesummary.spendfn()
to provide textual summary of
spending functions; this simplified the print function for gsDesign
objectssfStep()
which can be used to set an interim
spend when the exact amount of information is unknown; an example of how
this can be misused is provided in the help filegsBoundSummary
,
xtable.gsSurv
and summary.gsDesign
are
consistent for gsSurv
objects