getDesignFixed() can be used to create a fixed (single-stage) trial design. This convenience wrapper constructs an object of class TrialDesignFixed with kMax = 1.getSimulationMultiArmSurvival() and getSimulationEnrichmentSurvival() now support patient-wise survival simulations in addition to the existing test-statistic-based simulation approach. The new argument simulationType can be used to choose between the new C++ implementation ("patientWise"), the previous test-statistic-based approach ("testStatisticBased"), and a basic R reference implementation ("patientWiseBasic") intended for validation and testing. The default "auto" setting selects the appropriate simulation approach based on the specified arguments. Patient-wise simulation enables scenarios based on individual patient accrual, event, censoring, dropout, and maximum-subject constraints while preserving the previous test-statistic-based workflow for existing use cases.
Survival planning reports derived expectedDropoutProportion1 and expectedDropoutProportion2 at each interim and final planned analysis time, accounting for competing events and deterministic planned accrual. Patient-wise two-arm, multi-arm, and enrichment simulations report observedDropoutProportion1 and observedDropoutProportion2 by stage, averaging replication-specific proportions among replications contributing at that stage. Stopped trials and discontinued groups do not contribute to later stages. Outputs retain stage and scenario dimensions, with an additional active-arm or population dimension where applicable. When both input dropout rates are zero, the proportions remain in the result object but are omitted from print and summary output. The accompanying stage-wise dropoutObservationTime1 and dropoutObservationTime2 remain available in result objects and are no longer displayed. These outputs differ from input dropout probabilities and are unavailable for test-statistic-based simulations.getPiecewiseSurvivalTimeMultiArm() and getPiecewiseSurvivalTimeEnrichment() define piecewise exponential survival distributions for patient-wise multi-arm and enrichment simulations. They support interval-specific hazard ratios and multiple named simulation situations, with a common control-hazard profile across treatment arms for multi-arm designs and subgroup-specific control hazards for enrichment designs. Control and treatment hazards can alternatively be specified through exponential medians for each interval using medianControl (multi-arm), medianControls (enrichment), and medianTreatments; these interval parameters are not the medians of the complete piecewise survival distributions. The new helper getPiecewiseHazardRatioArray() combines group-by-interval hazard-ratio matrices into an array of simulation situations. The resulting survival specifications support console and Markdown output, data-frame and matrix conversion, and R-code reconstruction with getObjectRCode().getDataset() now supports datasets of general, endpoint-independent estimates through the new DatasetGeneral class. Stage-wise estimates and standard errors can be provided using est and se; degrees of freedom (df) are optional and default internally to Inf, corresponding to a normal approximation.criticalValues and futilityBounds for designs with directionUpper = FALSE. If the direction of the alternative is already specified when creating a design, e.g., with getDesignGroupSequential(directionUpper = FALSE), the boundaries are now shown in the correct direction, typically as negative values. This also applies to futility bounds generated for beta-spending designs.getFisherInformation() can be used to calculate cumulative
or stage-wise Fisher information at selected planned analyses for a design
plan or simulation results object for means, rates, survival, or count data
endpoints. Its typed output can be passed directly to getFutilityBounds(),
which validates that cumulative or stage-wise information is used as required
by the requested conversion. Complete multi-stage and multi-situation output
can be piped into getFutilityBounds(); the calculation is then carried out
separately for every interim stage and planning situation. The print methods
identify the target scale, information type, requested analysis stages and,
where applicable, the planning situations represented by the values.
Trial design plans and simulation results can also be piped directly into
getFutilityBounds(); the required Fisher information and its cumulative or
stage-wise type are then determined internally from the requested target scale.directionUpper has changed from TRUE to FALSE. Accordingly, the default event rates have been adjusted to provide meaningful examples for an alternative in the lower direction: pi2 (and piControl) now defaults to 0.5, while the sample size default for pi1 is now c(0.1, 0.2, 0.3); the power and simulation default for pi1 remains seq(0.2, 0.5, 0.1). One-sided power calculations and simulations issue a warning if directionUpper is not specified explicitly, making users aware of the changed default. No warning is issued for sample size calculations because the directionUpper argument has only been added to these functions in this version. For sample size calculations, the direction is always derived from the specified alternative; the argument is provided solely to validate that this derived direction is consistent with a directionUpper value that may already have been set in the design.getComparison() and the R6 TrialComparison class for comparing designs, design characteristics, sample size and power calculations, and simulations. Named or unnamed objects, nested lists, and existing comparisons can be combined, extended with add(), and edited with delete(); getObjects(), fetch(), $, and [[ provide access to the contained objects. Duplicate names are rejected. Compact print and summary output presents shared and differing parameter profiles using descriptive object labels, context-specific captions, and titles, with display limits for large comparisons. Full data-frame conversion, Markdown output, and R-code reconstruction are supported, including stage coordinates for fixed designs and robust numeric type inference. The plot() of a TrialComparison result supports multiple category columns and y parameters, with automatic or explicit left/right axis assignment through yAxisSide. getComparisonPlotParameters() previews selections, axis transformations, and diagnostic messages. Comparison axes use context-specific parameter captions for both single and multiple y parameters. Comparison legends use object-aware titles and adaptive category/parameter layouts, with measured wrapping, independent positions, and font reductions limited to ten percent. Automatic legend placement (legendPosition = "auto") is the default across all rpact plots with legends, while manual positions and legacy NA behaviour remain available. Comparison operations and package testing provide structured errors through the central error helpers, preserving worker failure details.
compare() starts a trial comparison from supported planning objects and extends an existing TrialComparison by reference, supporting pipelines such as design |> compare(plan1) |> compare(plan2).
Trial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.%vs% operator combines trial planning objects, comparisons, and their summaries through getComparison() and returns a comparison summary. It supports chaining and plotting with explicit axis selections.textMode, width, and showAll controls. All display limits and these controls can also be set through RPACT_COMPARISON_SUMMARY_* environment variables or rpact.comparison.summary.* options. Omitted content has actionable display hints; Markdown tables retain full text.testPackage() now supports parallel test execution on Windows, Linux, and macOS while retaining its HTML and PDF reports. The new workers argument defaults to automatic selection (available CPUs minus two, between one and 16); use workers = 1 for serial execution. Local test scheduling priorities are respected, and the result includes the worker count and separate timings for unit tests, R basic package tests, and HTML/PDF rendering. On Windows, testPackage() uses parallel R processes with file-backed standard streams and result files to avoid the pipe-related access violation in R bug 19104.testPackage() now runs R basic package tests in a separate R process before starting parallel workers and isolates configuration writes per test process. Worker crashes preserve partial results and are explicitly reported as incomplete execution, with the expected test count from META, the full diagnostic log path, and a hint to retry with workers = 1. Partial reports cannot claim successful installation qualification.print() of rpact result objects improved: Parameter listings now align their colon column using applicable parameter captions without a fixed four-character padding allowance. Technical summaries account separately for parameter type prefixes. Caption padding remains capped at 40 characters, and longer captions are retained in full.NA with a warning) for sequential designs with user-defined beta spending (typeBetaSpending = "bsUser"), for both binding and nonbinding futility. This avoids unreliable inversion results and C++ bounds warnings. The restriction also applies to multi-arm and enrichment analyses; other analysis results remain available.kappa != 1 in survival planning and simulation, including multi-arm and enrichment simulations. Lambda remains the inverse Weibull scale; the hazard ratio is (lambda1 / lambda2)^kappa. Exponential calculations (kappa = 1) are unchanged.typeOfSelection for multi-arm and enrichment simulations, explaining all five selection rules, their interaction with adaptations and thresholds, and how to drop one worst arm at each interim using a custom selection function (issue #159).getObjectRCode() now removes duplicate precondition blocks while preserving complete user-defined function bodies and pipe chains.getSimulationSurvival(), the early stopping probability ("Early stop") is now displayed stage-wise instead of overallgetSimulationSurvival(), numberOfSubjects1 and numberOfSubjects2 are no longer shown in the print output (though still available in the result object), and singleEventsPerStage is now displayed.getSimulationMultiArmMeans(), getSimulationMultiArmRates(), and getSimulationMultiArmSurvival(), the field numberOfActiveArms has been replaced by numberOfSelectedArms.stopIllegalArgument, stopMissingArgument) for clearer and more consistent error messages.getSampleSizeCounts(): field 'expectedStudyDurationH1' in result object was replaced by 'studyDuration', i.e., 'expectedStudyDurationH1' is deprecatedarmNumber column was renamed to activeArmdirection field in getStageResults() result objects was renamed to directionUpper.Trial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.
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.
identical() for user-defined parameter checks.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.finalPValues for two-sided group-sequential
designs in specific edge cases (see issue #114).Trial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.
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.
maxNumberOfRawDatasetsPerStage in survival clarifiedgetTestLabel() introducedTrial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.
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
getSimulationCounts() (issue #84)Trial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.
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
getSampleSizeMeans(), getPowerMeans(), getSimulationMeans(): For two-armed trials, it is allowed to specify the standard deviations (stDev) separately, i.e., as vector with two elements.
getDesignConditionalDunnett()) in analysis tool is fixed.maxInformation improved (see enhancement #65)getObjectRCode() improved (see #81)testPackage(): additional warning details will be added to the test report if warnings exist* Issue #61 fixedgetPiecewiseSurvivalTime() improvedinformationRates, userAlphaSpending, and userBetaSpendingTrial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.
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
kable() for rpact result objects marked as deprecated, as the formatting and display will be handled automatically by rpactggplot2 changed from 2.2.0 to 3.2.0directionUpper = FALSE has no influence in simulation for testing rates in one-sample situationTrial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.
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 for getSimulationEnrichmentMeans(), 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
.parameterNames and .parameterFormatFunctions were removed from all rpact result objects in favor of a more efficient solutiongetSampleSizeSurvival() / getPowerSurvival():
eventsPerStage replaced by cumulativeEventsPerStagesingleEventsPerStage addedgetSimulationSurvival():
eventsPerStage replaced by singleEventsPerStageoverallEventsPerStage replaced by cumulativeEventsPerStagegetSimulationMultiArmSurvival():
eventsPerStage replaced by cumulativeEventsPerStagesingleNumberOfEventsPerStage replaced by singleEventsPerArmAndStagesingleEventsPerStage addedgetSimulationEnrichmentSurvival():
singleNumberOfEventsPerStage replaced by singleEventsPerSubsetAndStagecovr and uploads the results to codecov.ioTrial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.
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).
mvnprd, mvstud, as251Normal, and as251StudentTmnormt dependency has been removedtheta can be used for plotting of sample size and power resultsTrial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.
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
df <= 500 because of erroneous results in mnormt package otherwise. For df > 500, multivariate normal distribution is usedomega to chi in class TrialDesignPlanSurvivalsapply removed from C++ code to stop deprecated warnings on r-devel-linux-x86_64-fedora-clangallocationRatioPlanned 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)getDataset() to enable pipe syntax for analysis, e.g.,
getDesignGroupSequential() |> getDataset(dataMeans) |> getAnalysisResults()SystemRequirements: C++11 added to DESCRIPTION to enable C++ 11 compilation on R 3.xbetaAdjustment can also be used in getDesignInverseNormal()subsets removed from result of getWideFormat() for non-enrichment datasetspopulations in getSimulationEnrichmentMeans(), getSimulationEnrichmentRates(), and getSimulationEnrichmentSurvival() has been removed since it is always derived from effectListgetSimulationEnrichmentRates() for calculated non-integer number of subjectsgetRawData(): the resulting data.frame now contains the correct stopStage and lastObservationTime (formerly observationTime)deltaWT is provided with three decimal points for typeOfDesign = "WToptimum"as.data.frame functions improvedTrial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.
Two-sided beta-spending approach with binding and non-binding futility bounds
Delayed response utility added in design specification
getSimulationMultiArmSurvival(): single stage treatment arm specific event numbers account for selection proceduregetSimulationEnrichmentRates() and getSimulationEnrichmentSurvival()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 expectedstats::qnorm(1e-323) to stats::qnorm(1e-100)getAnalysisResults(): issue with zero values in the argument 'userAlphaSpending' fixedTrial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.
Simulation tools for enrichment design testing means, rates, and hazard ratios: function getSimulationEnrichmentMeans(), getSimulationEnrichmentRates(), getSimulationEnrichmentSurvival() available for simulation of enrichment designs;
note that this is a novel implementation, hence experimental
getDesignGroupSequential() / getDesignInverseNormal(): new typeOfDesign = "noEarlyEfficacy" added
getSimulationSurvival(): bug fixed for accruallIntensity = 0 at some accrual intervalsgetSimulationMultiArmMeans(), getSimulationMultiArmRates(), and getSimulationMultiArmSurvival()testPackage(): a problem with downloading full set of unit tests under Debian/Linux has been fixedkable() improved: optional knitr::kable arguments enabled, e.g., formatqnorm() calculations improvedas.data.frame()Trial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.
Analysis tools for enrichment design testing means, rates, and hazard ratios: function getAnalysisResults() generalized for enrichment designs; function getDataset() generalized for entering stratified data; manual extended for enrichment designs
Automatic boundary recalculations during the trial for analysis with alpha spending approach,
including under- and over-running:
setup via the optional parameters 'maxInformation' and 'informationEpsilon' in function getAnalysisResults()
The new function getObjectRCode() (short: rcmd()) returns the original R command which
produced any rpact result object, including all dependencies
getWideFormat() and getLongFormat() return a dataset object in wide format (unstacked) or long format (narrow, stacked)
Generic function kable() returns the output of an rpact result object formatted in Markdown.
Generic function t() returns the transpose of an rpact result object
getDesignFisher() fixed: getDesignFisher(method = "noInteraction", kMax = 3) and getDesignFisher(method = "noInteraction") produced different resultstestPackage(): the default call is now running only a small subset of all available unit tests; with the new
argument 'connection' the owners of the rpact validation documentation
can enter a 'token' and a 'secret' to get full access to all unit testsgetSampleSizeSurvival(), getSimulationSurvival(), getNumberOfSubjects(), and getEventProbabilities()getParameterCaption() and getParameterName() implementedas.matrix() improved for several result objectsgetAvailablePlotTypes() for sample size and power results fixedgetDesignFisher(kMax = 1) in getSimulationMultiArm...() fixedgetSimulationMultiArmSurvival(): correlation of log-rank statistics revised and improvedgetSimulationMultiArmMeans(): name of the first effectMeasure option "effectDifference" changed to "effectEstimate"getSimulation[MultiArm][Means/Rates/Survival](): argument 'showStatistics' now works correctly and is consistently FALSE by default for multi-arm and non-multi-armgetSimulation[MultiArm]Survival(): generic function summary() improvedgetAnalysisResults(): generic function summary() improvedgetAccrualTime(): improved and new argument 'accrualIntensityType' addedgetSampleSizeSurvival(): field 'studyDurationH1' in result object was replaced by 'studyDuration', i.e., 'studyDurationH1' is deprecated and will be removed in future versionsgetSimulationMultiArmSurvival(): plannedEvents redefined as overall events over treatment armsgetStageResults(): element overallPooledStDevs added; print output improvedgetSampleSizeSurvival() with user defined lambdas with different lengths: issue fixedsummary() improved for several result objectstestPackage() improvedgetSimulationMultiArm[Means/Rates/Survival](): stage index corrected for user defined calcSubjectsFunction or calcEventsFunctiongetSimulationMultiArmRates(): adjustment for identical simulated rates to account for tiesgetSimulationMultiArmSurvival(): corrected correlation of test statisticsTrial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.
Simulation tools for multi-arm design testing means, rates, and hazard ratios
Analysis tools for multi-arm design testing means, rates, and hazard ratios
getSimulationRates(): exact versions for testing a rate (one-sample case) and equality of rates (two-sample case)
getDataset: multi-arm datasets for means, rates, and survival data
Analysis of fixed designs
Summary for analysis and simulation result objects newly implemented
Summary for most rpact result objects substantially improved and enhanced
getEventProbabilities(): plot of result object
getNumberOfSubjects(): plot of result object
Visual comparison of two designs: plot(design1, design2)
Functions setOutputFormat and getOutputFormat implemented: definition of user defined output formats
getSimulationMeans(): thetaH1 and stDevH1 can be specified for assessment of sample size recalculation (replaces thetaStandardized)
getSimulationSurvival(): separate p-values added to the aggregated simulation data for Fisher designs
getSimulationMeans(), getSimulationRates(): Cumulated number of subjects integrated in getData object
getSimulation[MultiArm][Means/Rates/Survival](): new logical argument 'showStatistics' added
Example datasets (csv files) added to the package
plot type "all": plot all available plots of an object in one step using plot(x, type = "all")
plot type improved: 'type' now can be a vector, e.g., plot(x, type = c(1, 3))
plot(x, grid = 1): new plot argument 'grid' enables the plotting of 2 or more plots in one graphic
getAnalysisResults(): list output implemented analogous to the output of all other rpact objectsgetAnalysisResults(): the following stage result arguments were removed from result object because they were redundant: effectSizes, testStatistics, and pValues. Please use the '.stageResults' object to access them, e.g., results$.stageResults$effectSizesgetAnalysisResults(): the following design arguments were removed from result object because they were redundant: stages, informationRates, criticalValues, futilityBounds, alphaSpent, and stageLevels. Please use the '.design' object to access them, e.g., results$.design$informationRatesplot(x, showSource = TRUE) improved for all rpact result objects xgetSimulationRates(): issue for futility stopping for Fisher's combination test fixedgetSimulationSurvival(): issue for expected number of events fixedgetSimulationSurvival(): if eventsNotAchieved > 0, rejection/futility rate and analysis time is estimated for valid simulation runsgetSimulationSurvival(): output improved for lambda1/median1/hazardRatio with length > 1getSampleSizeSurvival(): calculation of the maximum number of subjects given the provided argument 'followUpTime' improvedgetPiecewiseSurvivalTime(): delayed response via list-based piecewiseSurvivalTime definition enabledgetAccrualTime() / getSimulationSurvival(): issue with the calculation of absolute accrual intensity by given relative accrual intensity fixedgetRawData(): issue for multiple pi1 solvedgetAnalysisSurvival(): calculation of stage wise results not more in getStageResultsgetStageResults(): the calculation of 'effectSizes' for survival data and thetaH0 != 1 was correctedgetDataset() of survival data: issue with the internal storage of log ranks fixedgetSampleSizeSurvival() with piecewise survival time: issue with calculation of 'maxNumberOfSubjects' for given 'followUpTime' fixedsummary() improvedgetSampleSizeSurvival() with given maxNumberOfSubjects improvedget[SampleSize/Power]Survival() for Kappa != 1 improvedsummary() for getDesign[...]() fixedsummary() fixed for getSampleSize[...]() and getPower[...]()Trial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.
Plot function for Fisher design implemented
Generic function summary() implemented for getDesign[...](), getSampleSize[...](), getPower[...](), and getSimulation[...]() results: a simple boundary summary will be displayed
getDesign[...](), getSampleSize[...](), getPower[...](), and getSimulation[...]() resultsgetStageResults() improvedgetAccrualTime() improvedgetSampleSizeSurvival() improved: numeric search for accrualTime if followUpTime is givenTrial comparison data frames support digits, ceilingEnabled, and removeVariableParameters for numeric formatting and shared profiles. The output modes "auto", "html", and "pdf" retain data frames and render scrollable HTML or split LaTeX longtables automatically through knitr, without embedded report helpers.
Power calculation at given or adapted sample size for means, rates and survival data
Sample size and power calculation for survival trials with piecewise accrual time and intensity
Sample size and power calculation for survival trials with exponential survival time, piecewise exponential survival time and survival times that follow a Weibull distribution
Simulation tool for survival trials; our simulator is very fast because it was implemented with C++. Adaptive event number recalculations based on conditional power can be assessed
Simulation tool for designs with continuous and binary endpoints. Adaptive sample size recalculations based on conditional power can be assessed
Comprehensive and unified tool for performing sample size calculation for fixed sample size design
Enhanced plot functionalities
set.seed() calls 'kind' and 'normal.kind' were specified as follows: kind = "Mersenne-Twister", normal.kind = "Inversion"readDatasets() fixed: variable names 'group' and 'groups' are now acceptedgetSampleSizeSurvival(): argument 'maxNumberOfPatients' was renamed in 'maxNumberOfSubjects'