survival_adapt() now supports one-sided tests
(alternative = "greater" or "less") for
method = "cox" and method = "logrank". The
chi-square test remains two-sided only (#20).method = "chisq" and
imputed_final = FALSE, subjects lost to follow-up are now
excluded from the final analysis. Previously, LTFU subjects were counted
as non-events, which diluted the event rate and biased the chi-square
test (#22).fastlogranktest package.%>%) with
the base pipe (|>) in summarise_sims() and
posterior(), and removed the dplyr::%>%
re-export from the NAMESPACE.posterior() now warns when a piecewise interval has
zero subjects and data is propagated from an adjacent interval.survival_adapt() now validates that each
interim_look in a two-arm design is at least the block
size, so an interim look that could enrol a single treatment arm only is
rejected as an input error rather than producing an undefined interim
posterior.posterior() now propagates data for zero-exposure
piecewise intervals within each treatment arm. Previously,
propagation walked the flat row order of the per-arm summary, so an
empty leading interval in the treatment arm (e.g. a look where the
treatment arm has no subjects) could copy the control arm’s data into
the treatment posterior, contaminating the estimate across arms.
posterior() also now checks up front that the expected
treatment arms are present in the supplied data, erroring with an
informative message instead of silently returning an all-NA
posterior slice for an absent arm (which could occur at a small interim
look where one arm has no enrolled subjects yet).
survival_adapt() no longer errors when called
without interim looks (interim_look = NULL). The final
analysis previously relied on an undefined loop index variable, which
has been replaced with stage_trial_stopped.
impute_data() no longer uses hard-coded positional
column subsetting ([, 1:10]). Temporary columns are now
dropped by name, making the function robust to upstream changes in the
data frame structure (#26).
randomization() no longer produces NA
for next_block when the loop exhausts all elements of a
multi-element block vector. The index now wraps around
cyclically (#31).
analyse_data() now uses explicit row/column indexing
when extracting Cox model results, preventing silent errors if the
summary matrix structure changes (#29).
analyse_data() now imports
stats::pnorm, which is used to compute one-sided
p-values for the Cox and log-rank tests. Previously this
relied on stats being attached.
Removed a dead loss_to_fu <- NA assignment in
survival_adapt() that was shadowed by the
loss_to_fu column inside within() and never
used.
enrollment() now correctly selects the enrollment
rate at piecewise changepoints. Previously, the rate at exact
changepoint boundaries could use the rate from the prior interval
(#28).
survival_adapt() no longer adds a systematic
perturbation (sd(time) / 1e4) to all survival times at
interim looks. Instead, only the boundary subject with zero follow-up
time is clamped to .Machine$double.eps to satisfy
survSplit() requirements (#24).
est_interim element from the
survival_adapt() return-value documentation. This field was
documented but never computed or returned.method = "bayes" with imputation, clarifying that the
imputation model’s posterior influences the analysis posterior
(#27).prop_loss parameter documentation, explaining
that LTFU times are drawn from Uniform(0, t) and that the
event has not yet occurred at the dropout time (#25).interim_look requirement (at
least the block size for two-arm designs) in the
survival_adapt() interim_look parameter.summarise_sims() operating characteristics are now rendered
as captioned tables, a section documents one-sided tests (including that
method = "bayes" requires a one-sided alternative and
measures the effect on the cumulative-failure-probability scale
p_treatment - p_control against h0), and the
cutpoint argument name was corrected to
cutpoints.method = "bayes" with a piecewise
hazard via cutpoints and prop_to_haz(), the
Gamma-prior / posterior decision rule on the
cumulative-failure-probability scale, and a worked single-trial
example.hazard_control = NULL mode (Bayesian-only), the role of
h0 as a benchmark failure rate, the success rule
Pr(p_treatment < h0) > prob_ha, and a worked
single-trial example with operating-characteristics templates.enrollment(),
randomization(), pwe_sim(),
pwe_impute(), ppwe(),
prop_to_haz(), sim_comp_data(),
summarise_sims(), analyse_data(), and
posterior()._pkgdown.yml configuration for a documentation
website.actions/checkout,
actions/upload-artifact) from v4 to v5 for Node.js 24
compatibility..positai, _pkgdown.yml, and
docs to .Rbuildignore to suppress
R CMD check NOTEs.appveyor.yml CI configuration file
and its stale .Rbuildignore entry.docs/ to .gitignore, since the
pkgdown site is built and deployed to the gh-pages branch
by GitHub Actions rather than committed to the main branch.aria-label to the pkgdown navbar GitHub icon
and alt-text to the README hex logo and downloads badge to address
pkgdown accessibility warnings.fastlogranktest package.prior parameter documentation to explicitly
state the Gamma rate parameterization and that the same prior is shared
across all piecewise intervals and treatment arms.fastlogranktest is no longer available on CRAN,
a copy of the C++ code and wrapper from the CRAN archive have been
included directly into the source code of this package.summarise_sims.Rsummarise_sims()sim_comp_data()test_stop_success()test_final()NEWS.md file to track changes to the
package.
Need a high-speed mirror for your open-source project?
Contact our mirror admin team at info@clientvps.com.
This archive is provided as a free public service to the community.
Proudly supported by infrastructure from VPSPulse , RxServers , BuyNumber , UnitVPS , OffshoreName and secure payment technology by ArionPay.