DESCRIPTION — Description field now cites the three core methods using
the authors (year) <doi:...> format required by CRAN: Efron & Tibshirani
(1993, ISBN:9780412042317), Meinshausen & Bühlmann (2010)
<doi:10.1111/j.1467-9868.2010.00740.x>, and Peng (2011)
<doi:10.1126/science.1213847>.
Examples — \dontrun{} replaced with \donttest{} in
plot_stability_gg.Rd and plot_cv_stability_gg.Rd; optional-package
examples are now guarded with a requireNamespace() check inside
\donttest{}.
par() save/restore — all calls to par(mfrow = ...) in
demo/reprostat.R and vignettes/ReproStat-intro.Rmd now follow the
oldpar <- par(...); on.exit(par(oldpar)) pattern so that global graphics
settings are restored after each code block.
run_diagnostics(): main entry point supporting "lm", "glm", "rlm" (via
MASS), and "glmnet" (via glmnet) backends; three perturbation methods
("bootstrap", "subsample", "noise"). New argument perturb_response
(default FALSE) controls whether the response column is perturbed under the
noise method.perturb_data(): standalone data perturbation with bootstrap, subsampling,
and Gaussian noise injection. New argument response_col allows the
response column to be excluded from noise perturbation.coef_stability(): variance of coefficient estimates across perturbation
iterations.pvalue_stability(): proportion of iterations in which each predictor is
significant; intercept excluded from output.selection_stability(): sign consistency of estimated coefficients for
"lm" / "glm" / "rlm" backends; non-zero selection frequency for the
"glmnet" backend. Intercept excluded. This is a genuinely distinct
measure from pvalue_stability().prediction_stability(): pointwise prediction variance across perturbation
iterations.reproducibility_index(): composite 0--100 Reproducibility Index.
c_beta) now uses a global scale reference
(median(|base_coef|)) instead of a hard-coded epsilon, preventing the
score from collapsing for near-zero coefficients.c_p (p-value stability) and c_sel (selection stability) are now
genuinely distinct components; they previously computed the same quantity.backend = "glmnet", the selection component (c_sel) is now the
mean non-zero selection frequency and is always available (previously it
was NA). The RI for glmnet is therefore based on three components
instead of two.ri_confidence_interval(): bootstrap confidence interval for the RI.
The seed argument now defaults to NULL, leaving the caller's global RNG
state undisturbed. Pass an integer to fix the seed explicitly.cv_ranking_stability(): repeated K-fold CV ranking stability for model
comparison across the same four backends.plot_stability(), plot_cv_stability(): base-graphics visualisations.plot_stability_gg(), plot_cv_stability_gg(): optional ggplot2-based
equivalents (require ggplot2).