Releases: rpact-com/rpact
Releases · rpact-com/rpact
rpact 4.1.0
New features
- The new function
getSimulationCounts()
can be used to perform power simulations for clinical trials with negative binomial distributed count data. The function returns the simulated power, stopping probabilities, conditional power, and expected sample size for testing mean rates for negative binomial distributed event numbers in the two treatment groups testing situation. - The functions
getDesignGroupSequential()
,getDesignInverseNormal()
, andgetDesignFisher()
now support the argumentdirectionUpper
to specify the direction of the alternative for one-sided testing early at the design phase, see enhancement #26 getSampleSizeCounts()
andgetPowerCounts()
output boundary values also on the treatment effect scale, see enhancement #40- The
fetch()
andobtain()
functions can be used to extract multiple parameters from an rpact result object and support various output formats
Improvements, issues, and changes
- Usage of pipe-operators improved
- Analysis progress messages are only displayed when R is used interactively
- Manual use of
kable()
for rpact result objects marked as deprecated, as the formatting and display will be handled automatically by rpact - The order of all summary entries has been revised and optimized
- Minimum version of suggested package
ggplot2
changed from 2.2.0 to 3.2.0 - Issues #41, #44, #46, and #47 fixed
- When analyzing with a two-sided test, an issue with the calculation of the conditional rejection probability was fixed
- Bug is fixed:
directionUpper = FALSE
has no influence in simulation for testing rates in one-sample situation
rpact 4.0.0
New features
- All reference classes in the package have been replaced by R6 classes. This change brings significant advantages, including improved performance, more flexible and cleaner object-oriented programming, and enhanced encapsulation of methods and properties. The transition to R6 classes allows for more efficient memory management and faster execution, making the package more robust and scalable. Additionally, R6 classes provide a more intuitive and user-friendly interface for developers, facilitating the creation and maintenance of complex data structures and workflows.
- Extension of the function
getPerformanceScore()
for sample size recalculation rules to the setting of binary endpoints according to Bokelmann et al. (2024) - The
getSimulationMultiArmMeans()
,getSimulationMultiArmRates()
, andgetSimulationMultiArmSurvival()
functions now support an enhancedselectArmsFunction
argument. Previously, onlyeffectVector
andstage
were allowed as arguments. Now, users can optionally utilize additional arguments for more powerful custom function implementations, includingconditionalPower
,conditionalCriticalValue
,plannedSubjects/plannedEvents
,allocationRatioPlanned
,selectedArms
,thetaH1
(for means and survival),stDevH1
(for means),overallEffects
, and for rates additionally:piTreatmentsH1
,piControlH1
,overallRates
, andoverallRatesControl
. - Same as above for
getSimulationEnrichmentMeans()
,getSimulationEnrichmentRates()
, andgetSimulationEnrichmentSurvival()
. Specifically, support for population selection withselectPopulationsFunction
argument based on predictive/posterior probabilities added (see #32) - The
fetch()
andobtain()
functions can be used to extract a single parameter from an rpact result object, which is useful for writing pipe-operator linked commands
Improvements, issues, and changes
rpact 3.5.1
- The internal fields
.parameterNames
and.parameterFormatFunctions
were removed from all rpact result objects in favor of a more efficient solution - Issues #15, #16, #17, #19, and #23 fixed
- Fixed inconsistent naming of variables and class fields (issue #21)
getSampleSizeSurvival()
/getPowerSurvival()
:- Field
eventsPerStage
replaced bycumulativeEventsPerStage
- Field
singleEventsPerStage
added
- Field
getSimulationSurvival()
:- Field
eventsPerStage
replaced bysingleEventsPerStage
- Field
overallEventsPerStage
replaced bycumulativeEventsPerStage
- Field
getSimulationMultiArmSurvival()
:- Field
eventsPerStage
replaced bycumulativeEventsPerStage
- Field
singleNumberOfEventsPerStage
replaced bysingleEventsPerArmAndStage
- Field
singleEventsPerStage
added
- Field
getSimulationEnrichmentSurvival()
:- field
singleNumberOfEventsPerStage
replaced bysingleEventsPerSubsetAndStage
- field
- Test coverage CI/CD pipeline activated with the assistance of GitHub Actions, which runs
covr
and uploads the results to codecov.io - Minor improvements
rpact 3.5.0
New features
- The new functions
getSampleSizeCounts()
andgetPowerCounts()
can be used to perform sample size calculations and the assessment of test characteristics for clinical trials with negative binomial distributed count data. This is possible for fixed sample size and group sequential designs. For the latter, the methodology described in Muetze et al. (2019) is implemented. These functions can also be used to perform blinded sample size reassessments according to Friede and Schmidli (2010).
Improvements, issues, and changes
- Original Fortran 77 code of AS 251 included into the package, see functions
mvnprd
,mvstud
,as251Normal
, andas251StudentT
- R package
mnormt
dependency has been removed - Argument
theta
can be used for plotting of sample size and power results - Pipe operator usage improved
- Shiny app link changed to https://rpact.shinyapps.io/cloud
- Several minor improvements
What's Changed
Full Changelog: v3.4.0...v3.5.0
rpact 3.4.0
New features
- The new function
getPerformanceScore()
calculates the conditional performance score, its sub-scores and components according to Herrmann et al. (2020) for a given simulation result from a two-stage design allocationRatioPlanned
for simulating multi-arm and enrichment designs can be a vector of length kMax, the number of stagesgetObjectRCode()
(short:rcmd()
): with the new argumentspipeOperator
andoutput
many new output variants can be specified, e.g., the native R pipe operator or the magrittr pipe operator can be used- Generic function
knitr::knit_print
for all result objects implemented and automatic code chunk optionresults = 'asis'
activated
Improvements, issues, and changes
- Improved speed of numerical computation of group sequential designs and test characteristics
- Multivariate t distribution restricted to
df <= 500
because of erroneous results inmnormt
package otherwise. Fordf > 500
, multivariate normal distribution is used - Performance of cumulative distribution function and survival function plot improved
- Test coverage extended and improved
- Descriptions for all class fields added
- Renamed field
omega
tochi
in classTrialDesignPlanSurvival
- Several minor improvements
rpact 3.3.4
allocationRatioPlanned
for simulating means and rates for a two treatment groups design can be a vector of length kMax, the number of stagescalcSubjectsFunction
can be used in C++ version for simulating means and ratescalcEventsFunction
added in getSimulationSurvival()getPerformanceScore()
added: calculates the performance score for simulation means results (1 and 2 groups; 2 stages)- Performance of simulation rates improved for 1 and 2 groups (by translating from R to C++)
- Performance of simulation means improved for 1 and 2 groups
- Two-sided O'Brien and Fleming beta-spending function corrected
- Issue in plot type 5 for sample size means and rates fixed
- Added dependency on R >= 3.6.0
- Rcpp sugar function
sapply
removed from C++ code to stop deprecated warnings on r-devel-linux-x86_64-fedora-clang - Minor improvements
rpact 3.3.2
- Design objects can be piped into
getDataset()
to enable pipe syntax for analysis, e.g.,getDesignGroupSequential() |> getDataset(dataMeans) |> getAnalysisResults()
- Performance of simulation means improved for 1 and 2 groups (by translating from R to C++)
- Total test time was cut in half by improving simulation performance and enabling parallel testing
SystemRequirements: C++11
added to DESCRIPTION to enable C++ 11 compilation on R 3.x- Minor improvements
rpact 3.3.1
- Help pages improved
- Parameter betaAdjustment can also be used in getDesignInverseNormal()
- subsets removed from result of getWideFormat() for non-enrichment datasets
- Summary of enrichment survival simulation results improved
- Parameter populations in getSimulationEnrichmentMeans(), getSimulationEnrichmentRates(), and getSimulationEnrichmentSurvival() has been removed since it is always derived from effectList
- Bug fixed in getSimulationEnrichmentRates() for calculated non-integer number of subjects
- Futility probabilities and futility bounds corrected for two-sided beta-spending function approach
- getRawData(): the resulting data.frame now contains the correct stopStage and lastObservationTime (formerly observationTime)
- deltaWT is provided with three decimal points for typeOfDesign = “WToptimum”
- Generic as.data.frame functions improved
- testthat version changed to edition 3
- The rpact source code has been published on GitHub and the bug report link has been changed to https://github.com/rpact-com/rpact/issues
- Minor improvements
rpact 3.3.0
New features
- Two-sided beta-spending approach with binding and non-binding futility bounds
- Delayed response utility added in design specification
Improvements, issues, and changes
getSimulationMultiArmSurvival()
: single stage treatment arm specific event numbers account for selection procedure- User defined selection function can be used in
getSimulationEnrichmentRates()
andgetSimulationEnrichmentSurvival()
- Design summary extended by information of
getDesignCharacteristics()
getSimulationSurvival()
: the result object now contains the new parameteroverallEventsPerStage
, which contains the values previously given ineventsPerStage
(it was "cumulative" by mistake);eventsPerStage
contains now the non-cumulative values as expected- Minor improvements