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).