* using log directory ‘/data/gannet/ripley/R/packages/tests-Suggests/tidysdm.Rcheck’ * using R Under development (unstable) (2025-07-29 r88464) * using platform: x86_64-pc-linux-gnu * R was compiled by gcc (GCC) 15.1.1 20250521 (Red Hat 15.1.1-2) GNU Fortran (GCC) 15.1.1 20250521 (Red Hat 15.1.1-2) * running under: Fedora Linux 42 (Workstation Edition) * using session charset: UTF-8 * using option ‘--no-stop-on-test-error’ * checking for file ‘tidysdm/DESCRIPTION’ ... OK * this is package ‘tidysdm’ version ‘1.0.0’ * package encoding: UTF-8 * checking package namespace information ... OK * checking package dependencies ... INFO Package suggested but not available for checking: ‘blockCV’ * checking if this is a source package ... OK * checking if there is a namespace ... OK * checking for executable files ... OK * checking for hidden files and directories ... OK * checking for portable file names ... OK * checking for sufficient/correct file permissions ... OK * checking whether package ‘tidysdm’ can be installed ... [49s/229s] OK * checking package directory ... OK * checking ‘build’ directory ... OK * checking DESCRIPTION meta-information ... OK * checking top-level files ... OK * checking for left-over files ... OK * checking index information ... OK * checking package subdirectories ... OK * checking code files for non-ASCII characters ... OK * checking R files for syntax errors ... OK * checking whether the package can be loaded ... [10s/46s] OK * checking whether the package can be loaded with stated dependencies ... [9s/33s] OK * checking whether the package can be unloaded cleanly ... [9s/34s] OK * checking whether the namespace can be loaded with stated dependencies ... [8s/34s] OK * checking whether the namespace can be unloaded cleanly ... [9s/40s] OK * checking loading without being on the library search path ... [10s/38s] OK * checking whether startup messages can be suppressed ... [10s/39s] OK * checking use of S3 registration ... OK * checking dependencies in R code ... OK * checking S3 generic/method consistency ... OK * checking replacement functions ... OK * checking foreign function calls ... OK * checking R code for possible problems ... [51s/200s] OK * checking Rd files ... OK * checking Rd metadata ... OK * checking Rd line widths ... OK * checking Rd cross-references ... OK * checking for missing documentation entries ... OK * checking for code/documentation mismatches ... OK * checking Rd \usage sections ... OK * checking Rd contents ... OK * checking for unstated dependencies in examples ... OK * checking contents of ‘data’ directory ... OK * checking data for non-ASCII characters ... [10s/45s] OK * checking LazyData ... OK * checking data for ASCII and uncompressed saves ... OK * checking R/sysdata.rda ... OK * checking installed files from ‘inst/doc’ ... OK * checking files in ‘vignettes’ ... OK * checking examples ... [12s/58s] ERROR Running examples in ‘tidysdm-Ex.R’ failed The error most likely occurred in: > ### Name: autoplot.simple_ensemble > ### Title: Plot the results of a simple ensemble > ### Aliases: autoplot.simple_ensemble > ### Keywords: ensemble > > ### ** Examples > > #' # we use the two_class_example from `workflowsets` > two_class_ens <- simple_ensemble() %>% + add_member(two_class_res, metric = "roc_auc") Error in `fit_xy()`: ! Please install the earth package to use this engine. Backtrace: ▆ 1. ├─simple_ensemble() %>% add_member(two_class_res, metric = "roc_auc") 2. ├─tidysdm::add_member(., two_class_res, metric = "roc_auc") 3. ├─tidysdm:::add_member.workflow_set(., two_class_res, metric = "roc_auc") 4. │ └─x %>% add_member(this_res, metric = metric, id = i_wflow) 5. ├─tidysdm::add_member(., this_res, metric = metric, id = i_wflow) 6. └─tidysdm:::add_member.tune_results(...) 7. ├─tune::fit_best(member, metric = metric) 8. └─tune:::fit_best.tune_results(member, metric = metric) 9. ├─parsnip::fit(wflow, dat) 10. └─workflows:::fit.workflow(wflow, dat) 11. └─workflows::.fit_model(workflow, control) 12. ├─generics::fit(action_model, workflow = workflow, control = control) 13. └─workflows:::fit.action_model(...) 14. └─workflows:::fit_from_xy(spec, mold, case_weights, control_parsnip) 15. ├─generics::fit_xy(...) 16. └─parsnip::fit_xy.model_spec(...) 17. └─parsnip:::check_installs(object) 18. └─cli::cli_abort(...) 19. └─rlang::abort(...) Execution halted * checking for unstated dependencies in ‘tests’ ... OK * checking tests ... Running ‘spelling.R’ Running ‘testthat.R’ [134s/523s] [135s/528s] ERROR Running the tests in ‘tests/testthat.R’ failed. Complete output: > # This file is part of the standard setup for testthat. > # It is recommended that you do not modify it. > # > # Where should you do additional test configuration? > # Learn more about the roles of various files in: > # * https://r-pkgs.org/tests.html > # * https://testthat.r-lib.org/reference/test_package.html#special-files > > library(testthat) > library(tidysdm) Loading required package: tidymodels ── Attaching packages ────────────────────────────────────── tidymodels 1.3.0 ── ✔ broom 1.0.9 ✔ recipes 1.3.1 ✔ dials 1.4.1 ✔ rsample 1.3.1 ✔ dplyr 1.1.4 ✔ tibble 3.3.0 ✔ ggplot2 3.5.2 ✔ tidyr 1.3.1 ✔ infer 1.0.9 ✔ tune 1.3.0 ✔ modeldata 1.4.0 ✔ workflows 1.2.0 ✔ parsnip 1.3.2 ✔ workflowsets 1.1.1 ✔ purrr 1.1.0 ✔ yardstick 1.3.2 ── Conflicts ───────────────────────────────────────── tidymodels_conflicts() ── ✖ purrr::discard() masks scales::discard() ✖ dplyr::filter() masks stats::filter() ✖ purrr::is_null() masks testthat::is_null() ✖ dplyr::lag() masks stats::lag() ✖ tidyr::matches() masks rsample::matches(), dplyr::matches(), testthat::matches() ✖ recipes::step() masks stats::step() Loading required package: spatialsample > > test_check("tidysdm") x The workflow requires packages that are not installed: 'ranger'. Skipping this workflow. Linking to GEOS 3.13.0, GDAL 3.10.3, PROJ 9.6.2; sf_use_s2() is TRUE terra 1.8.60 Attaching package: 'terra' The following object is masked from 'package:tidyr': extract The following object is masked from 'package:dials': buffer The following object is masked from 'package:scales': rescale The following objects are masked from 'package:testthat': compare, describe x The workflow requires packages that are not installed: 'ranger'. Skipping this workflow. [ FAIL 18 | WARN 2 | SKIP 0 | PASS 193 ] ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test_blockcv2rsample.R:1:1'): (code run outside of `test_that()`) ─── Error in `library(blockCV)`: there is no package called 'blockCV' Backtrace: ▆ 1. ├─base::suppressPackageStartupMessages(library(blockCV)) at test_blockcv2rsample.R:1:1 2. │ └─base::withCallingHandlers(expr, packageStartupMessage = function(c) tryInvokeRestart("muffleMessage")) 3. └─base::library(blockCV) ── Error ('test_calib_class_thresh.R:4:3'): simple_ensemble predictions ──────── Error in `fit_xy(spec, x = mold$predictors, y = mold$outcomes, case_weights = case_weights, control = control_parsnip)`: Please install the earth package to use this engine. Backtrace: ▆ 1. ├─simple_ensemble() %>% ... at test_calib_class_thresh.R:4:3 2. ├─tidysdm::add_member(., two_class_res[1:3, ], metric = "roc_auc") 3. ├─tidysdm:::add_member.workflow_set(., two_class_res[1:3, ], metric = "roc_auc") 4. │ └─x %>% add_member(this_res, metric = metric, id = i_wflow) 5. ├─tidysdm::add_member(., this_res, metric = metric, id = i_wflow) 6. └─tidysdm:::add_member.tune_results(...) 7. ├─tune::fit_best(member, metric = metric) 8. └─tune:::fit_best.tune_results(member, metric = metric) 9. ├─parsnip::fit(wflow, dat) 10. └─workflows:::fit.workflow(wflow, dat) 11. └─workflows::.fit_model(workflow, control) 12. ├─generics::fit(action_model, workflow = workflow, control = control) 13. └─workflows:::fit.action_model(...) 14. └─workflows:::fit_from_xy(spec, mold, case_weights, control_parsnip) 15. ├─generics::fit_xy(...) 16. └─parsnip::fit_xy.model_spec(...) 17. └─parsnip:::check_installs(object) 18. └─cli::cli_abort(...) 19. └─rlang::abort(...) ── Error ('test_clamp_predictors.R:124:3'): clamping_predictor works on SpatRasterDatasets ── Error in `library(pastclim)`: there is no package called 'pastclim' Backtrace: ▆ 1. ├─base::suppressPackageStartupMessages(library(pastclim)) at test_clamp_predictors.R:124:3 2. │ └─base::withCallingHandlers(expr, packageStartupMessage = function(c) tryInvokeRestart("muffleMessage")) 3. └─base::library(pastclim) ── Error ('test_dist_pres_vs_bg.R:15:3'): NAs in dataframe ───────────────────── Error in `dist_pres_vs_bg(., class)`: to use this function, first install package 'overlapping' with install.packages('overlapping') Backtrace: ▆ 1. ├─testthat::expect_error(...) at test_dist_pres_vs_bg.R:15:3 2. │ └─testthat:::expect_condition_matching(...) 3. │ └─testthat:::quasi_capture(...) 4. │ ├─testthat (local) .capture(...) 5. │ │ └─base::withCallingHandlers(...) 6. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 7. ├─test_dataset %>% dist_pres_vs_bg(class) 8. └─tidysdm::dist_pres_vs_bg(., class) ── Error ('test_explain_tidysdm.R:88:3'): explain_tidysdm works correctly with recipes with steps ── Error in `add_member.workflow_set(., lacerta_models, metric = "boyce_cont")`: no result found for workflow default_rf; did you forget to fit the workflow? Backtrace: ▆ 1. ├─simple_ensemble() %>% add_member(lacerta_models, metric = "boyce_cont") at test_explain_tidysdm.R:88:3 2. ├─tidysdm::add_member(., lacerta_models, metric = "boyce_cont") 3. └─tidysdm:::add_member.workflow_set(., lacerta_models, metric = "boyce_cont") ── Error ('test_extrapol_mess.R:82:3'): mess_predictor works on SpatRasterDatasets ── Error in `library(pastclim)`: there is no package called 'pastclim' Backtrace: ▆ 1. └─base::library(pastclim) at test_extrapol_mess.R:82:3 ── Error ('test_overlap_niche.R:13:3'): niche_overlap quantifies difference between rasters ── Error in `predict(fit, new_data, type = type, opts = opts, ...)`: Please install the ranger package to use this engine. Backtrace: ▆ 1. ├─tidysdm::predict_raster(lacerta_ensemble, climate_present) at test_overlap_niche.R:13:3 2. └─tidysdm:::predict_raster.default(lacerta_ensemble, climate_present) 3. ├─stats::predict(object, raster_df, ...) 4. └─tidysdm:::predict.simple_ensemble(object, raster_df, ...) 5. └─base::lapply(...) 6. ├─stats (local) FUN(X[[i]], ...) 7. └─workflows:::predict.workflow(X[[i]], ...) 8. ├─stats::predict(fit, new_data, type = type, opts = opts, ...) 9. └─parsnip::predict.model_fit(fit, new_data, type = type, opts = opts, ...) 10. └─parsnip:::check_installs(object$spec) 11. └─cli::cli_abort(...) 12. └─rlang::abort(...) ── Error ('test_predict_repeat_ensemble.R:4:3'): repeat_ensemble predictions ─── Error in `fit_xy(spec, x = mold$predictors, y = mold$outcomes, case_weights = case_weights, control = control_parsnip)`: Please install the earth package to use this engine. Backtrace: ▆ 1. ├─simple_ensemble() %>% ... at test_predict_repeat_ensemble.R:4:3 2. ├─tidysdm::add_member(., two_class_res[1:3, ], metric = "roc_auc") 3. ├─tidysdm:::add_member.workflow_set(., two_class_res[1:3, ], metric = "roc_auc") 4. │ └─x %>% add_member(this_res, metric = metric, id = i_wflow) 5. ├─tidysdm::add_member(., this_res, metric = metric, id = i_wflow) 6. └─tidysdm:::add_member.tune_results(...) 7. ├─tune::fit_best(member, metric = metric) 8. └─tune:::fit_best.tune_results(member, metric = metric) 9. ├─parsnip::fit(wflow, dat) 10. └─workflows:::fit.workflow(wflow, dat) 11. └─workflows::.fit_model(workflow, control) 12. ├─generics::fit(action_model, workflow = workflow, control = control) 13. └─workflows:::fit.action_model(...) 14. └─workflows:::fit_from_xy(spec, mold, case_weights, control_parsnip) 15. ├─generics::fit_xy(...) 16. └─parsnip::fit_xy.model_spec(...) 17. └─parsnip:::check_installs(object) 18. └─cli::cli_abort(...) 19. └─rlang::abort(...) ── Error ('test_predict_simple_ensemble.R:4:3'): simple_ensemble predictions ─── Error in `fit_xy(spec, x = mold$predictors, y = mold$outcomes, case_weights = case_weights, control = control_parsnip)`: Please install the earth package to use this engine. Backtrace: ▆ 1. ├─simple_ensemble() %>% ... at test_predict_simple_ensemble.R:4:3 2. ├─tidysdm::add_member(., two_class_res[1:3, ], metric = "roc_auc") 3. ├─tidysdm:::add_member.workflow_set(., two_class_res[1:3, ], metric = "roc_auc") 4. │ └─x %>% add_member(this_res, metric = metric, id = i_wflow) 5. ├─tidysdm::add_member(., this_res, metric = metric, id = i_wflow) 6. └─tidysdm:::add_member.tune_results(...) 7. ├─tune::fit_best(member, metric = metric) 8. └─tune:::fit_best.tune_results(member, metric = metric) 9. ├─parsnip::fit(wflow, dat) 10. └─workflows:::fit.workflow(wflow, dat) 11. └─workflows::.fit_model(workflow, control) 12. ├─generics::fit(action_model, workflow = workflow, control = control) 13. └─workflows:::fit.action_model(...) 14. └─workflows:::fit_from_xy(spec, mold, case_weights, control_parsnip) 15. ├─generics::fit_xy(...) 16. └─parsnip::fit_xy.model_spec(...) 17. └─parsnip:::check_installs(object) 18. └─cli::cli_abort(...) 19. └─rlang::abort(...) ── Error ('test_predict_simple_ensemble.R:115:3'): simple_ensemble prediction errors ── Error in `fit_xy(spec, x = mold$predictors, y = mold$outcomes, case_weights = case_weights, control = control_parsnip)`: Please install the earth package to use this engine. Backtrace: ▆ 1. ├─simple_ensemble() %>% ... at test_predict_simple_ensemble.R:115:3 2. ├─tidysdm::add_member(., two_class_res[1:3, ], metric = "roc_auc") 3. ├─tidysdm:::add_member.workflow_set(., two_class_res[1:3, ], metric = "roc_auc") 4. │ └─x %>% add_member(this_res, metric = metric, id = i_wflow) 5. ├─tidysdm::add_member(., this_res, metric = metric, id = i_wflow) 6. └─tidysdm:::add_member.tune_results(...) 7. ├─tune::fit_best(member, metric = metric) 8. └─tune:::fit_best.tune_results(member, metric = metric) 9. ├─parsnip::fit(wflow, dat) 10. └─workflows:::fit.workflow(wflow, dat) 11. └─workflows::.fit_model(workflow, control) 12. ├─generics::fit(action_model, workflow = workflow, control = control) 13. └─workflows:::fit.action_model(...) 14. └─workflows:::fit_from_xy(spec, mold, case_weights, control_parsnip) 15. ├─generics::fit_xy(...) 16. └─parsnip::fit_xy.model_spec(...) 17. └─parsnip:::check_installs(object) 18. └─cli::cli_abort(...) 19. └─rlang::abort(...) ── Error ('test_repeat_ensemble.R:15:3'): add_repeat to empty repeat ensemble ── Error in `fit_xy(spec, x = mold$predictors, y = mold$outcomes, case_weights = case_weights, control = control_parsnip)`: Please install the earth package to use this engine. Backtrace: ▆ 1. ├─testthat::expect_warning(...) at test_repeat_ensemble.R:15:3 2. │ └─testthat:::expect_condition_matching(...) 3. │ └─testthat:::quasi_capture(...) 4. │ ├─testthat (local) .capture(...) 5. │ │ └─base::withCallingHandlers(...) 6. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 7. ├─simple_ensemble() %>% add_member(two_class_res[c(1:3), ]) 8. ├─tidysdm::add_member(., two_class_res[c(1:3), ]) 9. ├─tidysdm:::add_member.workflow_set(., two_class_res[c(1:3), ]) 10. │ └─x %>% add_member(this_res, metric = metric, id = i_wflow) 11. ├─tidysdm::add_member(., this_res, metric = metric, id = i_wflow) 12. └─tidysdm:::add_member.tune_results(...) 13. ├─tune::fit_best(member, metric = metric) 14. └─tune:::fit_best.tune_results(member, metric = metric) 15. ├─parsnip::fit(wflow, dat) 16. └─workflows:::fit.workflow(wflow, dat) 17. └─workflows::.fit_model(workflow, control) 18. ├─generics::fit(action_model, workflow = workflow, control = control) 19. └─workflows:::fit.action_model(...) 20. └─workflows:::fit_from_xy(spec, mold, case_weights, control_parsnip) 21. ├─generics::fit_xy(...) 22. └─parsnip::fit_xy.model_spec(...) 23. └─parsnip:::check_installs(object) 24. └─cli::cli_abort(...) 25. └─rlang::abort(...) ── Error ('test_sample_background_time.R:19:1'): (code run outside of `test_that()`) ── Error in `loadNamespace(x)`: there is no package called 'pastclim' Backtrace: ▆ 1. └─base::loadNamespace(x) at test_sample_background_time.R:19:1 2. └─base::withRestarts(stop(cond), retry_loadNamespace = function() NULL) 3. └─base (local) withOneRestart(expr, restarts[[1L]]) 4. └─base (local) doWithOneRestart(return(expr), restart) ── Error ('test_sample_pseudoabs_time.R:17:1'): (code run outside of `test_that()`) ── Error in `loadNamespace(x)`: there is no package called 'pastclim' Backtrace: ▆ 1. └─base::loadNamespace(x) at test_sample_pseudoabs_time.R:17:1 2. └─base::withRestarts(stop(cond), retry_loadNamespace = function() NULL) 3. └─base (local) withOneRestart(expr, restarts[[1L]]) 4. └─base (local) doWithOneRestart(return(expr), restart) ── Error ('test_simple_ensemble.R:17:3'): add_member to empty simple ensemble ── Error in `fit_xy(spec, x = mold$predictors, y = mold$outcomes, case_weights = case_weights, control = control_parsnip)`: Please install the earth package to use this engine. Backtrace: ▆ 1. ├─testthat::expect_warning(test_ens <- simple_ensemble() %>% add_member(none_mars)) at test_simple_ensemble.R:17:3 2. │ └─testthat:::expect_condition_matching(...) 3. │ └─testthat:::quasi_capture(...) 4. │ ├─testthat (local) .capture(...) 5. │ │ └─base::withCallingHandlers(...) 6. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 7. ├─simple_ensemble() %>% add_member(none_mars) 8. ├─tidysdm::add_member(., none_mars) 9. └─tidysdm:::add_member.tune_results(., none_mars) 10. ├─tune::fit_best(member, metric = metric) 11. └─tune:::fit_best.tune_results(member, metric = metric) 12. ├─parsnip::fit(wflow, dat) 13. └─workflows:::fit.workflow(wflow, dat) 14. └─workflows::.fit_model(workflow, control) 15. ├─generics::fit(action_model, workflow = workflow, control = control) 16. └─workflows:::fit.action_model(...) 17. └─workflows:::fit_from_xy(spec, mold, case_weights, control_parsnip) 18. ├─generics::fit_xy(...) 19. └─parsnip::fit_xy.model_spec(...) 20. └─parsnip:::check_installs(object) 21. └─cli::cli_abort(...) 22. └─rlang::abort(...) ── Error ('test_thin_by_cell_time.R:21:3'): thin_by_cell_time removes the correct points ── Error in `loadNamespace(x)`: there is no package called 'pastclim' Backtrace: ▆ 1. ├─testthat::expect_error(...) at test_thin_by_cell_time.R:21:3 2. │ └─testthat:::expect_condition_matching(...) 3. │ └─testthat:::quasi_capture(...) 4. │ ├─testthat (local) .capture(...) 5. │ │ └─base::withCallingHandlers(...) 6. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 7. ├─tidysdm::thin_by_cell_time(...) 8. └─base::loadNamespace(x) 9. └─base::withRestarts(stop(cond), retry_loadNamespace = function() NULL) 10. └─base (local) withOneRestart(expr, restarts[[1L]]) 11. └─base (local) doWithOneRestart(return(expr), restart) ── Error ('test_thin_by_cell_time.R:94:3'): thin_by_cell_time works with stars ── Error in `loadNamespace(x)`: there is no package called 'pastclim' Backtrace: ▆ 1. └─base::loadNamespace(x) at test_thin_by_cell_time.R:94:3 2. └─base::withRestarts(stop(cond), retry_loadNamespace = function() NULL) 3. └─base (local) withOneRestart(expr, restarts[[1L]]) 4. └─base (local) doWithOneRestart(return(expr), restart) ── Error ('test_thin_by_dist_time.R:22:3'): thin_by_dist_time removes the correct points ── Error in `loadNamespace(x)`: there is no package called 'pastclim' Backtrace: ▆ 1. ├─tidysdm::thin_by_dist_time(...) at test_thin_by_dist_time.R:22:3 2. └─base::loadNamespace(x) 3. └─base::withRestarts(stop(cond), retry_loadNamespace = function() NULL) 4. └─base (local) withOneRestart(expr, restarts[[1L]]) 5. └─base (local) doWithOneRestart(return(expr), restart) ── Error ('test_thin_by_dist_time.R:77:3'): thin_by_dist_time respects the projection ── Error in `loadNamespace(x)`: there is no package called 'pastclim' Backtrace: ▆ 1. ├─tidysdm::thin_by_dist_time(...) at test_thin_by_dist_time.R:77:3 2. └─base::loadNamespace(x) 3. └─base::withRestarts(stop(cond), retry_loadNamespace = function() NULL) 4. └─base (local) withOneRestart(expr, restarts[[1L]]) 5. └─base (local) doWithOneRestart(return(expr), restart) [ FAIL 18 | WARN 2 | SKIP 0 | PASS 193 ] Error: Test failures Execution halted * checking for unstated dependencies in vignettes ... OK * checking package vignettes ... OK * checking re-building of vignette outputs ... OK * checking PDF version of manual ... [12s/56s] OK * checking HTML version of manual ... [5s/26s] OK * checking for non-standard things in the check directory ... OK * checking for detritus in the temp directory ... OK * DONE Status: 2 ERRORs See ‘/data/gannet/ripley/R/packages/tests-Suggests/tidysdm.Rcheck/00check.log’ for details. Command exited with non-zero status 1 Time 33:07.84, 449.25 + 34.11