Skip to content

Releases: rpact-com/rpact

rpact 4.1.0

30 Sep 05:40
1bcaa28
Compare
Choose a tag to compare

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(), and getDesignFisher() now support the argument directionUpper to specify the direction of the alternative for one-sided testing early at the design phase, see enhancement #26
  • getSampleSizeCounts() and getPowerCounts() output boundary values also on the treatment effect scale, see enhancement #40
  • The fetch() and obtain() 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

03 Jun 05:29
9e9026a
Compare
Choose a tag to compare

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(), and getSimulationMultiArmSurvival() functions now support an enhanced selectArmsFunction argument. Previously, only effectVector and stage were allowed as arguments. Now, users can optionally utilize additional arguments for more powerful custom function implementations, including conditionalPower, conditionalCriticalValue, plannedSubjects/plannedEvents, allocationRatioPlanned, selectedArms, thetaH1 (for means and survival), stDevH1 (for means), overallEffects, and for rates additionally: piTreatmentsH1, piControlH1, overallRates, and overallRatesControl.
  • Same as above forgetSimulationEnrichmentMeans(), getSimulationEnrichmentRates(), and getSimulationEnrichmentSurvival(). Specifically, support for population selection with selectPopulationsFunction argument based on predictive/posterior probabilities added (see #32)
  • The fetch() and obtain() 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

  • Issues #25, #35, and #36 fixed
  • Minor improvements

rpact 3.5.1

01 Mar 06:50
53519ca
Compare
Choose a tag to compare
  • 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 by cumulativeEventsPerStage
      • Field singleEventsPerStage added
    • getSimulationSurvival():
      • Field eventsPerStage replaced by singleEventsPerStage
      • Field overallEventsPerStage replaced by cumulativeEventsPerStage
    • getSimulationMultiArmSurvival():
      • Field eventsPerStage replaced by cumulativeEventsPerStage
      • Field singleNumberOfEventsPerStage replaced by singleEventsPerArmAndStage
      • Field singleEventsPerStage added
    • getSimulationEnrichmentSurvival():
      • field singleNumberOfEventsPerStage replaced by singleEventsPerSubsetAndStage
  • 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

25 Jan 15:39
d210810
Compare
Choose a tag to compare

New features

  • The new functions getSampleSizeCounts() and getPowerCounts() 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, and as251StudentT
  • 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

03 Jul 14:58
Compare
Choose a tag to compare

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 stages
  • getObjectRCode() (short: rcmd()): with the new arguments pipeOperator and output 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 option results = '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 in mnormt package otherwise. For df > 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 to chi in class TrialDesignPlanSurvival
  • Several minor improvements

rpact 3.3.4

15 Feb 09:22
13643a4
Compare
Choose a tag to compare
  • allocationRatioPlanned for simulating means and rates for a two treatment groups design can be a vector of length kMax, the number of stages
  • calcSubjectsFunction can be used in C++ version for simulating means and rates
  • calcEventsFunction 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

07 Nov 10:27
Compare
Choose a tag to compare
  • 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

29 Aug 09:32
Compare
Choose a tag to compare
  • 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

15 Jul 11:15
Compare
Choose a tag to compare

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() and getSimulationEnrichmentSurvival()
  • Design summary extended by information of getDesignCharacteristics()
  • getSimulationSurvival(): the result object now contains the new parameter overallEventsPerStage, which contains the values previously given in eventsPerStage (it was "cumulative" by mistake); eventsPerStage contains now the non-cumulative values as expected
  • Minor improvements