Package: SimTOST 1.1.0

Thomas Debray

SimTOST: Sample Size Estimation for Bio-Equivalence Trials Through Simulation

Sample size estimation for bio-equivalence trials is supported through a simulation-based approach that extends the Two One-Sided Tests (TOST) procedure. The methodology provides flexibility in hypothesis testing, accommodates multiple treatment comparisons, and accounts for correlated endpoints. Users can model complex trial scenarios, including parallel and crossover designs, intra-subject variability, and different equivalence margins. Monte Carlo simulations enable accurate estimation of power and type I error rates, ensuring well-calibrated study designs. The statistical framework builds on established methods for equivalence testing and multiple hypothesis testing in bio-equivalence studies, as described in Schuirmann (1987) <doi:10.1007/BF01068419>, Mielke et al. (2018) <doi:10.1080/19466315.2017.1371071>, Shieh (2022) <doi:10.1371/journal.pone.0269128>, and Sozu et al. (2015) <doi:10.1007/978-3-319-22005-5>. Comprehensive documentation and vignettes guide users through implementation and interpretation of results.

Authors:Thomas Debray [aut, cre], Tim Friede [ctb], Johanna Munoz [ctb], Dewi Amaliah [ctb], Wei Wei [ctb], Marian Mitroiu [ctb], Scott McDonald [ctb], Biogen Inc [cph, fnd], Smart Data Analysis and Statistics B.V. [cph, fnd]

SimTOST_1.1.0.tar.gz
SimTOST_1.1.0.zip(r-4.7-x86_64)SimTOST_1.1.0.zip(r-4.7-arm64)SimTOST_1.1.0.zip(r-4.6-x86_64)SimTOST_1.1.0.zip(r-4.6-arm64)SimTOST_1.1.0.zip(r-4.5-x86_64)
SimTOST_1.1.0.tgz(r-4.6-x86_64)SimTOST_1.1.0.tgz(r-4.6-arm64)SimTOST_1.1.0.tgz(r-4.5-x86_64)SimTOST_1.1.0.tgz(r-4.5-arm64)
SimTOST_1.1.0.tar.gz(r-4.7-arm64)SimTOST_1.1.0.tar.gz(r-4.7-x86_64)SimTOST_1.1.0.tar.gz(r-4.6-arm64)SimTOST_1.1.0.tar.gz(r-4.6-x86_64)
SimTOST_1.1.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
SimTOST/json (API)

# Install 'SimTOST' in R:
install.packages('SimTOST', repos = c('https://smartdata-analysis-and-statistics.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/smartdata-analysis-and-statistics/simtost/issues

Pkgdown/docs site:https://smartdata-analysis-and-statistics.github.io

Uses libs:
  • openblas– Optimized BLAS
  • c++– GNU Standard C++ Library v3

On CRAN:

Conda:

mcmcmulti-armmultiple-comparisonssample-size-calculationsample-size-estimationtrial-simulationopenblascpp

6.34 score 3 stars 11 scripts 293 downloads 16 exports 5 dependencies

Last updated from:5118001c66. Checks:15 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK147
linux-devel-x86_64OK177
source / vignettesOK325
linux-release-arm64OK128
linux-release-x86_64OK151
macos-release-arm64OK172
macos-release-x86_64OK343
macos-oldrel-arm64OK99
macos-oldrel-x86_64OK304
windows-devel-arm64OK295
windows-devel-x86_64OK201
windows-release-arm64OK275
windows-release-x86_64OK164
windows-oldrel-x86_64OK165
wasm-releaseOK105

Exports:as.numeric.simss_mielkeconfint.simssget_parplot_decision_heatmapplot_distributionplot_mc_errorplot_stabilityplot.simssprint.simssrun_simulationssampleSizesampleSize_MielkesimParallelEndpointssimPowersummary.simsstype1Error

Dependencies:data.tableMASSmatrixcalcRcppRcppArmadillo

Bioequivalence Tests for 2x2 Cross-Over Trial Designs with Log-Normal Data
Bioequivalence tests for AUC and Cmax | Estimating power at a fixed sample size | References

Last update: 2026-10-09
Started: 2026-09-01

Count Outcomes
Overview | Parameters required for count outcomes | A published Poisson benchmark | A count outcome study example | Step 1: Define the study and theoretical targets | Step 2: Run a pilot with sampleSize() | Step 3: Validate the generated data and estimands | 3a. Arm-specific parameters | 3b. Endpoint correlations | 3c. Estimand direction and sampling distribution | Step 4: Check Monte Carlo stability and precision | Step 5: Check Type I error at the equivalence boundaries | Step 6: Run the final sample-size calculation | Repeat with a negative-binomial distribution | Use the same settings for a two-by-two crossover design

Last update: 2026-10-09
Started: 2026-09-01

A Step-by-Step Simulation Validation Workflow
Step 1: Define the study and theoretical targets | Step 2: Run a pilot with sampleSize() | Step 3: Validate the generated data and estimands | 3a. Arm-specific parameters | 3b. Endpoint correlations | 3c. Estimand direction and sampling distribution | 3d. TOST t-statistics | Step 4: Check Monte Carlo stability and precision | Step 5: Check Type I error at the equivalence boundaries | One endpoint example | Multiple endpoints example | k = 3: all endpoints are required | k = 2: at least two endpoints are required | k = 1: at least one endpoint is required | Step 6: Run the final sample-size calculation | Step 7: Interpret and report the final result | References

Last update: 2026-10-09
Started: 2026-09-01

Bioequivalence Tests for Parallel Trial Designs with Log-Normal Data
Multiple independent co-primary endpoints | Approach 1: Using sampleSize_Mielke | Approach 2: Using sampleSize | Estimating power at a fixed sample size | Methods for inspecting the sample-size result | Multiple correlated co-primary endpoints | References

Last update: 2026-10-09
Started: 2026-09-01

Introduction
Hypotheses | Difference of Means (DOM) | Ratio of Means (ROM) | Count outcomes: event-rate ratio (RR) | Regulatory requirements | Testing of multiple endpoints | Testing multiple co-primary endpoints | Testing multiple primary endpoints | Bonferroni correction | Sidak correction | K adjustment: Mielke's weak k-out-of-m correction | T adjustment: Mielke's strong k-out-of-m correction | Hierarchical testing of multiple endpoints | Testing of multiple treatments | References

Last update: 2026-09-11
Started: 2025-01-22

Methodological Assumptions in SimTOST
Purpose and scope | Assumptions shared by the simulation framework | Continuous outcomes | Normal outcomes | Log-normal outcomes | Count outcomes | Poisson outcomes | Negative-binomial outcomes | Dependence between endpoints | Count outcomes and the Gaussian copula | What cor_mat means in practice | Design-specific assumptions | Parallel design | 2x2 crossover design | Normal and log-normal outcomes | Poisson and negative-binomial outcomes | Practical sensitivity analyses

Last update: 2026-09-11
Started: 2026-09-01

Count-Outcome Equivalence: Parallel Design with 3 Arms and 3 Endpoints
Overview | Study assumptions | Power for a fixed sample size | Sample-size estimation for all comparisons and endpoints | Joint sample-size estimation with k = 3 | Why joint planning is important | Negative-binomial sensitivity analysis

Last update: 2026-09-09
Started: 2026-09-01

Bioequivalence Tests for Parallel Trial Designs: 2 Arms, 1 Endpoint
Introduction | Difference of means test | Scenario | Trial design | Objective | Implementation | References

Last update: 2026-09-07
Started: 2026-09-01

Bioequivalence Tests for Parallel Trial Designs: 2 Arms, 3 Endpoints
Introduction | Testing multiple co-primary endpoints | Independent testing of co-primary endpoints | Simultaneous testing of independent co-primary endpoints | Simultaneous testing of correlated co-primary endpoints | Testing multiple primary endpoints | Simultaneous testing of primary endpoints | Hierarchical testing of endpoints | References

Last update: 2026-09-07
Started: 2026-09-01

Bioequivalence Tests for Parallel Trial Designs: 3 Arms, 1 Endpoint
Introduction | Sample-size calculation for AUCinf: equivalence to EU Remicade | Hypotheses | Preparing the function arguments | Computing sample size | Sample-size calculation for AUCinf: equivalence to US Remicade and EU Remicade | Implementation details | Results and interpretation | References

Last update: 2026-09-07
Started: 2026-09-01

Bioequivalence Tests for Parallel Trial Designs: 3 Arms, 3 Endpoints
Introduction | Input data | Simultaneous testing of independent co-primary endpoints | Different hypotheses across endpoints | Simultaneous testing of independent primary endpoints | Equivalence for at least 2 of the 3 endpoints with Mielke's t-adjustment | Unequal allocation rates across arms | Accounting for participant dropout | References

Last update: 2026-09-07
Started: 2026-09-01

Readme and manuals

Help Manual

Help pageTopics
Plot simulated endpoint correlations.plot_correlation
Estimate joint power for correlated count endpoints and multiple comparisons.power_count_joint_serial
Estimate power for count-rate equivalence.power_count_serial
Preserve named-vector indexing for legacy Mielke examples[.simss_mielke
Coerce a Mielke result to a numeric sample sizeas.numeric.simss_mielke
Extract the Monte Carlo confidence interval from count power resultsconfint.countpower confint.countss
Extract the Monte Carlo confidence interval from fixed-sample-size power resultsconfint.simpower
Confidence Interval for Achieved Power from simss objectconfint.simss
Parameter Configuration for Endpoints and Comparatorsget_par
Plot simulated decision heatmapsplot_decision_heatmap
Plot distributions of retained simulated observationsplot_distribution
Plot Monte Carlo errorplot_mc_error
Plot simulation stabilityplot_stability
Plot count-outcome power resultsplot.countpower
Plot count-outcome sample-size resultsplot.countss
Plot fixed-sample-size power resultsplot.simpower
Plot fixed-sample-size power resultsplot.simpower_curve
Plot Power vs Sample Size for Simulation Resultsplot.simss
Plot empirical Type I errorplot.type1error
Plot joint Type I error scenariosplot.type1error_joint
Power Calculation for Difference of Means (DOM) Hypothesis Testpower_dom
Print count-outcome power resultsprint.countpower
Print count-outcome sample-size resultsprint.countss
Print fixed-sample-size power resultsprint.simpower
Print Summary of Sample Size Estimationprint.simss
Print a Mielke sample-size resultprint.simss_mielke
Run a design-specific simulationrun_simulations
Run Simulations for a 2x2 Crossover Design with Difference of Means (DOM) testrun_simulations_2x2_dom
Run Simulations for a 2x2 Crossover Design with Ratio of Means (ROM) testrun_simulations_2x2_rom
Run Simulations for a Parallel Design with Difference of Means (DOM) testrun_simulations_par_dom
Run Simulations for a Parallel Design with Ratio of Means (ROM) testrun_simulations_par_rom
Sample Size Calculation for Bioequivalence and Multi-Endpoint StudiessampleSize
Estimate sample size for count-rate equivalencesampleSize_count
Estimate sample size for joint correlated count equivalencesampleSize_count_joint
Sample Size Estimation for Multiple Hypothesis Testing Using Mielke's MethodsampleSize_Mielke
Generate Simulated Endpoint Data for Parallel Group DesignsimParallelEndpoints
Estimate power at a fixed sample sizesimPower
Sample Size Estimation via SimulationSimTOST-package SimTOST
Summarize count-outcome power resultssummary.countpower
Summary for Count Sample-Size Resultssummary.countss
Summarize fixed-sample-size power resultssummary.simpower
Summary for Simulation Resultssummary.simss
Simulate a 2x2 Crossover Design and Compute Difference of Means (DOM)test_2x2_dom
Simulate a 2x2 Crossover Design and Compute Ratio of Means (ROM)test_2x2_rom
Simulate a Parallel Design and Test Difference of Means (DOM)test_par_dom
Simulate a Parallel Design and Test Ratio of Means (ROM)test_par_rom
Empirical Type I Error at the Least-Favorable Nulltype1Error
Update a standalone count power calculationupdate.countpower
Update a standalone count sample-size calculationupdate.countss
Update a SimTOST fixed-sample-size power calculationupdate.simpower
Update a SimTOST sample-size calculationupdate.simss