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
)p_saf
and p_tox parametersp_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
)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")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 formattingpercent 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
...
)sim_boin() automatically generates BOIN boundaries and
decision tablesextrasafe parameter for safety stopping at
lowest dosesim_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