Skip to content

Releases: rpact-com/rpact

rpact 4.4.0

06 Mar 08:08
edc3f97

Choose a tag to compare

New features

  • Extended testPackage() with additional options for report customization
    and metadata handling. A new argument reportFileBaseName allows explicit
    control over the base name of all generated report files.
  • testPackage() now supports structured metadata via the new arguments
    metaData and metaDataFile. Users can either pass a named list of
    key–value pairs directly or provide an external text file in KEY=VALUE
    format. This metadata is included in the generated test reports and
    supports reproducible, auditable installation qualification and validation
    workflows.
  • Added two internal utility functions, writeKeyValueFile() and
    readKeyValueFile(), for writing and reading human-editable key–value
    metadata files (KEY=VALUE, INI/.env-like format).
    These functions are implemented using base R only, support UTF-8 encoding,
    comments, and robust parsing, and are intended for use in regulated
    environments.
  • The new key–value file utilities are used internally by testPackage()
    to support structured metadata handling via the metaData and
    metaDataFile arguments, enabling reproducible and auditable inclusion of
    environment- and system-specific information in installation qualification
    and validation reports.

Improvements, issues, and changes

  • Improved parameter defaulting and assignment logic.
  • Used identical() for user-defined parameter checks.
  • Enhanced warning messages for ignored parameters.
  • Adjusted the calculation in getHazardRatioByPi() to return the hazard
    ratio directly derived from the corresponding rate parameters, i.e.,
    the hazard ratio is defined as lambda1 / lambda2;
    the Weibull shape parameter kappa controls time-dependence only.
  • Enhanced count data parameter validation logic
  • Update version, citation handling, and references for rpact package
  • Corrected calculation of finalPValues for two-sided group-sequential
    designs in specific edge cases (see issue #114).

rpact 4.3.0

16 Dec 12:02
0870e3e

Choose a tag to compare

New features

  • The new function getFutilityBounds() converts futility bounds between different
    scales such as z-value, p-value, conditional power, predictive power, reverse conditional
    power, and effect estimate.
  • The new argument futilityBoundsScale in getDesignInverseNormal() and
    getDesignGroupSequential() allows specifying futility bounds directly
    on alternative scales (e.g. p-value), which are internally converted as needed.
  • The new argument alpha0Scale in getDesignFisher() allows specifying alpha0 bounds directly
    on alternative scales, which are internally converted as needed.

Improvements, issues, and changes

  • Documentation for maxNumberOfRawDatasetsPerStage in survival clarified
  • Issue #94 fixed
  • Issue #99 fixed
  • Testing improved, e.g., new helper function getTestLabel() introduced
  • Several minor improvements

What's Changed

  • New function getFutilityBounds() added by @fpahlke in #95
  • getFutilityBounds() improved by @fpahlke in #96
  • Enhanced futility bounds argument handling by @fpahlke in #98
  • Several updates and improvements by @fpahlke in #100
  • Refactor conditional power plot functions and update RPACT Cloud URL. by @fpahlke in #101
  • Several minor improvements by @fpahlke in #102
  • Release candidate by @fpahlke in #103
  • Add new scale options for futility and alpha0 bounds, update docs and by @fpahlke in #104

Full Changelog: v4.2.1...v4.3.0

rpact 4.2.1

24 Jul 12:25
aa52b85

Choose a tag to compare

New features

  • efficacyStops and futilityStops parameter added (issue #88)
  • parameter stdErrorEstimate ("pooled" or "unpooled") added for calculation of final confidence intervals in two-sample situation for rates
  • testPackage() returns an InstallationQualificationResult object

Improvements, issues, and changes

  • Issue for conditional power calculation for group sequential designs in analysis tool fixed
  • Recruitment times for count and survival data situation improved (issue #86)
  • Bug fix for getSimulationCounts() (issue #84)
  • Minor improvements

Changelog

Full Changelog: v4.2.0...v4.2.1

rpact 4.2.0

25 Mar 05:54
91b1231

Choose a tag to compare

New features

  • For the functions getSimulationMultiArmMeans(), getSimulationMultiArmRates(), and getSimulationMultiArmSurvival() it is now possible to specify a parameter doseLevels to define the dose levels for a linear or sigmoidEmax dose-response relationship (see feature request #63)
  • Added support for unequal variances between two groups in getSampleSizeMeans(), getPowerMeans(), and getSimulationMeans() functions, see enhancement #70
  • testPackage() produces a comprehensive installation qualification report in html and pdf format (see new vignette Installation Qualification of rpact)
  • setupPackageTests() sets up the package tests by downloading the test files and copying them to the rpact installation directory
  • saveOptions() saves the current rpact options to a configuration file
  • resetOptions() resets the rpact options to their default values
  • Argument conservative added to getSampleSizeRates() function, see enhancement #39
  • Enable futility boundaries in Boundaries p Values Scale plot plot (type = 3) using options("rpact.plot.show.futility.on.pvalue.scale" = TRUE) or argument showFutilityBounds = TRUE, see enhancement #79
  • Enable beta-spending in Error Spending plot (type = 4) using options("rpact.plot.show.beta.spent" = TRUE) or argument showBetaSpent = TRUE, see enhancement #80. Furthermore, options("rpact.plot.show.alpha.spent" = FALSE) or argument showAlphaSpent = FALSE can be used to show only beta-spending in the plot

Improvements, issues, and changes

  • Issue for calculation of confidence intervals when using the conditional Dunnett test design
    (getDesignConditionalDunnett()) in analysis tool is fixed.
  • The full set of unit tests for rpact is now stored in a private repository.
    Only members of the 'RPACT User Group' have access to the tests.
    For more information, please visit: rpact.org/iq and RPACT Connect
  • Usage of maxInformation improved (see enhancement #65)
  • Line breaks in the output of getObjectRCode() improved (see #81)
  • testPackage(): additional warning details will be added to the test report if warnings exist* Issue #61 fixed
  • Issue #68 fixed
  • Flexibility of function getPiecewiseSurvivalTime() improved
  • Simulation allows the case #events = #patients
  • Test coverage improved
  • Plot subtitles improved
  • Warning message added for extreme choice of informationRates, userAlphaSpending, and userBetaSpending
  • Minor improvements

Full Changelog: v4.1.0...v4.2.0

rpact 4.1.0

30 Sep 05:40
1bcaa28

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

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

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

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

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

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