purrr and tidyr dependencies. New internal
.map_dfr()/.imap_dfr()/.crossing_grid()/.pivot_longer_simple()
helpers (R/utils-tidy.R) replace purrr::map_dfr()/imap_dfr()/
pmap_dfr(), tidyr::crossing(), and tidyr::pivot_longer().
tune_survdnn()'s and gridsearch_survdnn()'s config grids and results
carry a hidden list-column (the per-config vector of hidden-layer
sizes); since basetable::rbindfill() coerces list-columns to NA
instead of preserving them, those two row-binding sites use a new
.map_rbind() (base R rbind()) instead of .map_dfr(). purrr and
tidyr removed from Imports entirely. Requires basetable (>= 1.4.1).dplyr dependency. summarize_cv_survdnn() and
plot.survdnn()'s mean-curve overlay now use basetable::aggregate()/
count(); cv_survdnn()'s column selection and gridsearch_survdnn()/
tune_survdnn()'s row-binding use plain base R. The two group-by
aggregations keyed partly on the hidden list-column (per-config vector
of hidden-layer sizes) -- tune_survdnn()'s best-config selection and
summarize_tune_survdnn() -- use a new internal .aggregate_by_config()
(base R split(), since basetable::aggregate() has no list-column
grouping support, and dplyr's list-column grouping via vctrs equality
needed a structural stand-in: elements collapsed to a string key).
rsample::vfold_cv(strata = ...)'s external-vector tidyselect now goes
through tidyselect::all_of() directly instead of dplyr::all_of().DESCRIPTION's Description field and a matching inst/CITATION file.Authors@R, matching the rest of the package suite. Daniel
Falbel remains listed as a contributor (ctb).\\donttest{} examples that train models by guarding them with torch::torch_is_installed() so checks pass on systems without Torch.survival::veteran (instead of data(veteran, ...)).verbose support to cv_survdnn() and tune_survdnn(), with clearer and consistent progress messages across fit/cv/tune workflows..threads argument to survdnn(), cv_survdnn(), and tune_survdnn() to control Torch CPU thread count explicitly when needed.man/*.Rd) to reflect example updates.predict.survdnn) across all supported losses (Cox, Cox L2, AFT, CoxTime), including survival and risk predictions.Added full support for training control mechanisms, including early stopping callbacks and complete loss tracking across epochs.
Introduced plot_loss() to visualize training loss trajectories and diagnose convergence or instability.
Centralized reproducibility control via the .seed argument in survdnn(), synchronizing both R and Torch random number generators.
Expanded optimizer support to include Adam, AdamW, SGD, RMSprop, and Adagrad, with customizable optimizer arguments.
Enhanced prediction methods to robustly support linear predictors, survival probabilities, and cumulative risk across all supported loss functions.
Added explicit and user-controllable missing-data handling (na_action = "omit" or "fail"), with informative messages.
Improved handling of formulas using Surv(...) ~ . in prediction and evaluation.
Improved printing and summary methods for fitted survdnn objects.
Expanded unit test coverage, including optimizers, plotting utilities, and missing-data edge cases.
. expansion.Removed automatic torch::install_torch() on load:
The package no longer downloads or installs Torch libraries automatically when loaded. The .onLoad() function now performs only a silent availability check, and .onAttach() displays an informative message instructing users to manually run torch::install_torch() when necessary.
This update ensures full compliance with CRAN policies that forbid modification of user environments or network activity during package load.
Updated startup messages for clearer user guidance.
Internal documentation updates and version bump for CRAN resubmission.
Added conditional test skipping: tests and examples now use skip_if_not(torch_is_installed()) and skip_on_cran() to avoid failures on systems where Torch is not available (thanks to @dfalbel for the PR).
Regenerated documentation (RoxygenNote: 7.3.3) and updated man pages.
Minor internal consistency fixes and CI check updates.
First public release of survdnn.
survdnn(): Fit deep learning survival models using a formula interface."cox")"cox_l2")"coxtime")"aft")cv_survdnn().tune_survdnn().CRAN submission prepared, including README, documentation, and automated tests.