Added p_saf and p_tox parameters to core functions
sim_boin(), sim_boin_multi(), and get_pts_and_tox() now accept custom safety and toxicity thresholdsp_saf: Highest toxicity probability deemed acceptable for safety (default: 0.6 * target)p_tox: Lowest toxicity probability deemed unacceptable for toxicity (default: 1.4 * target)get_boin_boundary() for boundary calculationUsage examples
# Using default thresholds (0.6 * target and 1.4 * target)
result_default <- sim_boin(
n_trials = 10000,
target = 0.30,
p_true = c(0.10, 0.25, 0.40, 0.55, 0.70),
n_cohort = 10,
cohort_size = 3,
seed = 123
)
# Using custom thresholds
result_custom <- sim_boin(
n_trials = 10000,
target = 0.30,
p_true = c(0.10, 0.25, 0.40, 0.55, 0.70),
n_cohort = 10,
cohort_size = 3,
p_saf = 0.15, # Custom safety threshold
p_tox = 0.45, # Custom toxicity threshold
seed = 123
)
Enhanced parameter documentation
p_saf and p_tox parametersExpanded test coverage
p_saf and p_tox parameter handling in sim_boin()p_saf and p_tox parameter handling in sim_boin_multi()p_saf and p_tox parameter handling in get_pts_and_tox()None. All existing code continues to work as before. The new p_saf and p_tox parameters have sensible defaults (0.6 * target and 1.4 * target respectively) that match the standard BOIN methodology, ensuring full backward compatibility.
p_saf and p_tox parameters with NULL defaultsp_saf and p_tox values for reproducibilityNo functional changes. All code and features remain identical to version 1.3.0.
Added verbose parameter to sim_boin() and sim_boin_multi()
verbose = FALSE (default): Run silently without progress messagesverbose = TRUE: Display progress messages as in previous versionsUsage examples
# Silent mode (default) - ideal for vignettes and reports
result <- sim_boin(
n_trials = 10000,
target = 0.30,
p_true = c(0.10, 0.25, 0.40, 0.55, 0.70),
n_cohort = 10,
cohort_size = 3,
seed = 123
)
# With progress messages
result <- sim_boin(
n_trials = 10000,
target = 0.30,
p_true = c(0.10, 0.25, 0.40, 0.55, 0.70),
n_cohort = 10,
cohort_size = 3,
verbose = TRUE,
seed = 123
)
Standardized roxygen2 documentation format
Updated vignettes
None. All existing code continues to work as before. The new verbose parameter defaults to FALSE, which changes the default behavior to silent mode, but all functionality remains identical.
For users who prefer the previous behavior with progress messages:
# Add verbose = TRUE to see progress messages
result <- sim_boin(
n_trials = 10000,
target = 0.30,
p_true = p_true,
n_cohort = 48,
cohort_size = 3,
verbose = TRUE, # Add this line
seed = 123
)
Added sim_boin_multi() function
sim_boin()Usage example
scenarios <- list(
list(name = "Scenario 1: MTD at DL4",
p_true = c(0.05, 0.10, 0.20, 0.30, 0.45)),
list(name = "Scenario 2: MTD at DL3",
p_true = c(0.10, 0.15, 0.30, 0.45, 0.60))
)
result <- sim_boin_multi(
scenarios = scenarios,
target = 0.30,
n_trials = 10000,
n_cohort = 48,
cohort_size = 3,
seed = 123
)
Added html format option to print.boin_summary() and print.boin_multi_summary()
kable_format = "html": Generate HTML tables with enhanced stylingUpdated kable_format parameter documentation
"pipe" (default): Markdown pipe table format"simple": Minimal text table format"latex": LaTeX table format"html": HTML table format with enhanced styling (NEW)Enhanced print output examples
# HTML table for web display
print(result$summary, kable = TRUE, kable_format = "html")
# Multi-scenario results as HTML
print(multi_result, kable = TRUE, kable_format = "html")
Added detailed roxygen2-formatted documentation to all functions
get_boin_boundary(): Escalation and de-escalation boundary calculationget_boin_decision(): Decision table generation with decision rulesget_boin_stopping_boundaries(): Safety stopping rule table generationget_pts_and_tox(): Patient enrollment and toxicity simulationisotonic_regression(): Isotonic regression with PAVA algorithmselect_mtd(): MTD selection with optional boundMTD constraintsim_boin(): Main simulation workflowsim_boin_multi(): Multi-scenario simulation orchestrationprint.boin_summary(): Summary table printing and formattingprint.boin_multi_summary(): Multi-scenario summary printing and formattingEnhanced function comments
percent parameter
percent = FALSE (default): Display Avg Pts and Avg DLTs as absolute numberspercent = TRUE: Display as percentages of totalAll changes are backward compatible. New parameters have sensible defaults.
runif() back to rbinom()rbinom() ensures identical random number sequence as BOIN with same seedmin_mtd_sample: Changed from 6 to 1
n_earlystop_rule: Changed default from "simple" to "with_stay"
rbinom() for accurate DLT generation matching BOIN packageNone. The changes restore compatibility and fix defaults to match standard BOIN behavior. Users running with explicit parameters should see no change.
For users upgrading from simFastBOIN 1.1.0:
If you were using defaults:
# Old code (simFastBOIN 1.0.0)
result <- sim_boin(n_trials = 10000, target = 0.30, p_true = p_true, ...)
# New code (simFastBOIN 1.2.0) - No change needed!
# Default behavior now matches BOIN package
result <- sim_boin(n_trials = 10000, target = 0.30, p_true = p_true, ...)
If you were using custom parameters:
# Explicitly setting these will ensure consistent behavior across versions
result <- sim_boin(
n_trials = 10000,
target = 0.30,
p_true = p_true,
min_mtd_sample = 1, # Now the default
n_earlystop_rule = "with_stay", # Now the default
...
)
High-Performance BOIN Simulation
Automatic Decision Table Generation
sim_boin() automatically generates BOIN boundaries and decision tablesSafety Features
extrasafe parameter for safety stopping at lowest doseProfessional Output
sim_boin(): Run BOIN trial simulationsget_boin_boundary(): Calculate BOIN interval boundariesget_boin_decision(): Generate decision tableget_boin_stopping_boundaries(): Generate safety stopping boundariesisotonic_regression(): Apply isotonic regression for dose-toxicity estimationsummarize_simulation_boin(): Aggregate simulation results