- using R version 4.4.3 (2025-02-28 ucrt)
- using platform: x86_64-w64-mingw32
- R was compiled by
gcc.exe (GCC) 13.3.0
GNU Fortran (GCC) 13.3.0
- running under: Windows Server 2022 x64 (build 20348)
- using session charset: UTF-8
- checking for file 'tidysdm/DESCRIPTION' ... OK
- this is package 'tidysdm' version '1.0.3'
- package encoding: UTF-8
- checking package namespace information ... OK
- checking package dependencies ... OK
- checking if this is a source package ... OK
- checking if there is a namespace ... OK
- checking for hidden files and directories ... OK
- checking for portable file names ... OK
- checking whether package 'tidysdm' can be installed ... OK
See the install log for details.
- checking installed package size ... 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 ... [7s] OK
- checking whether the package can be loaded with stated dependencies ... [6s] OK
- checking whether the package can be unloaded cleanly ... [7s] OK
- checking whether the namespace can be loaded with stated dependencies ... [6s] OK
- checking whether the namespace can be unloaded cleanly ... [7s] OK
- checking loading without being on the library search path ... [7s] OK
- checking whether startup messages can be suppressed ... [7s] 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 ... [20s] OK
- checking Rd files ... [2s] OK
- checking Rd metadata ... 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 ... [8s] NOTE
Error loading dataset 'lacerta_ensemble':
Error in xgb.get.handle(model) :
'xgb.Booster' object is corrupted or is from an incompatible XGBoost version.
- 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 ... [34s] ERROR
Running examples in 'tidysdm-Ex.R' failed
The error most likely occurred in:
> ### Name: make_mask_from_presence
> ### Title: Make a mask from presence data
> ### Aliases: make_mask_from_presence
>
> ### ** Examples
>
> lacerta_sf <- lacerta %>%
+ sf::st_as_sf(coords = c("longitude", "latitude")) %>%
+ sf::st_set_crs(4326)
> land_mask <- terra::readRDS(system.file("extdata/lacerta_land_mask.rds",
+ package = "tidysdm"
+ ))
Warning: PROJ: proj_create_from_database: Cannot find proj.db (GDAL error 1)
Error: [rast] empty srs
Execution halted
- checking for unstated dependencies in 'tests' ... OK
- checking tests ... [82s] ERROR
Running 'spelling.R' [0s]
Running 'testthat.R' [81s]
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.4.1 ──
✔ broom 1.0.11 ✔ recipes 1.3.1
✔ dials 1.4.2 ✔ rsample 1.3.1
✔ dplyr 1.1.4 ✔ tailor 0.1.0
✔ ggplot2 4.0.1 ✔ tidyr 1.3.1
✔ infer 1.0.9 ✔ tune 2.0.1
✔ modeldata 1.5.1 ✔ workflows 1.3.0
✔ parsnip 1.4.0 ✔ workflowsets 1.1.1
✔ purrr 1.2.0 ✔ yardstick 1.3.2
── Conflicts ───────────────────────────────────────── tidymodels_conflicts() ──
✖ purrr::discard() masks scales::discard()
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
✖ recipes::step() masks stats::step()
Loading required package: spatialsample
>
> test_check("tidysdm")
Saving _problems/test_blockcv2rsample-49.R
Attaching package: 'plotrix'
The following object is masked from 'package:scales':
rescale
Saving _problems/test_clamp_predictors-9.R
Saving _problems/test_clamp_predictors-73.R
i Creating pre-processing data to finalize 1 unknown parameter: "mtry"
Saving _problems/test_explain_tidysdm-121.R
Saving _problems/test_extrapol_mess-9.R
Saving _problems/test_extrapol_mess-76.R
Saving _problems/test_overlap_niche-7.R
Saving _problems/test_predict_raster-6.R
i Creating pre-processing data to finalize 1 unknown parameter: "mtry"
Saving _problems/test_thin_by_cell-8.R
Saving _problems/test_thin_by_cell_time-8.R
[ FAIL 10 | WARN 12 | SKIP 1 | PASS 267 ]
══ Skipped tests (1) ═══════════════════════════════════════════════════════════
• On CRAN (1): 'test_filter_collinear.R:2:1'
══ Failed tests ════════════════════════════════════════════════════════════════
── Error ('test_blockcv2rsample.R:42:3'): blockcv2rsample conversion ───────────
Error in `stats::kmeans(x_vals, centers = k, iter.max = 500, nstart = 25, ...)`: more cluster centers than distinct data points.
Backtrace:
▆
1. └─blockCV::cv_cluster(...) at test_blockcv2rsample.R:42:3
2. └─stats::kmeans(...)
── Error ('test_clamp_predictors.R:5:3'): clamping_predictor works on SpatRasters ──
Error: [rast] empty srs
Backtrace:
▆
1. ├─terra::readRDS(...) at test_clamp_predictors.R:5:3
2. └─terra::readRDS(...)
3. ├─terra::unwrap(x)
4. └─terra::unwrap(x)
5. └─terra (local) .local(x, ...)
6. ├─base::eval(parse(text = x@definition))
7. │ └─base::eval(parse(text = x@definition))
8. ├─terra::rast(...)
9. └─terra::rast(...)
10. └─terra (local) .local(x = x, ...)
11. └─terra:::new_rast(...)
12. └─terra:::messages(r, "rast")
13. └─terra:::error(f, x@pntr$getError())
── Error ('test_clamp_predictors.R:69:3'): clamping_predictor works on stars ───
Error: [rast] empty srs
Backtrace:
▆
1. ├─terra::readRDS(...) at test_clamp_predictors.R:69:3
2. └─terra::readRDS(...)
3. ├─terra::unwrap(x)
4. └─terra::unwrap(x)
5. └─terra (local) .local(x, ...)
6. ├─base::eval(parse(text = x@definition))
7. │ └─base::eval(parse(text = x@definition))
8. ├─terra::rast(...)
9. └─terra::rast(...)
10. └─terra (local) .local(x = x, ...)
11. └─terra:::new_rast(...)
12. └─terra:::messages(r, "rast")
13. └─terra:::error(f, x@pntr$getError())
── Error ('test_explain_tidysdm.R:121:3'): explain_tidysdm works with response provided directly ──
Error in `xgb.get.handle(model)`: 'xgb.Booster' object is corrupted or is from an incompatible XGBoost version.
Backtrace:
▆
1. ├─testthat::expect_true(all.equal(test_explainer, test_explainer_y)) at test_explain_tidysdm.R:121:3
2. │ └─testthat::quasi_label(enquo(object), label)
3. │ └─rlang::eval_bare(expr, quo_get_env(quo))
4. ├─base::all.equal(test_explainer, test_explainer_y)
5. └─base::all.equal.default(test_explainer, test_explainer_y)
6. └─base::all.equal.list(target, current, ...)
7. ├─base::all.equal(...)
8. └─base::all.equal.default(...)
9. └─base::all.equal.list(target, current, ...)
10. ├─base::all.equal(...)
11. └─base::all.equal.list(...)
12. ├─base::all.equal(...)
13. └─base::all.equal.default(...)
14. └─base::all.equal.list(target, current, ...)
15. ├─base::all.equal(...)
16. └─base::all.equal.default(...)
17. └─base::all.equal.list(target, current, ...)
18. ├─base::all.equal(...)
19. └─base::all.equal.default(...)
20. └─base::all.equal.list(target, current, ...)
21. ├─base::all.equal(...)
22. └─base::all.equal.default(...)
23. └─base::all.equal.list(target, current, ...)
24. └─base::attr.all.equal(target, current, ...)
25. ├─base::length(target)
26. └─xgboost:::length.xgb.Booster(target)
27. └─xgboost::xgb.get.num.boosted.rounds(x)
28. └─xgboost:::xgb.get.handle(model)
── Error ('test_extrapol_mess.R:5:3'): mess_predictor works on SpatRasters and df ──
Error: [rast] empty srs
Backtrace:
▆
1. ├─terra::readRDS(...) at test_extrapol_mess.R:5:3
2. └─terra::readRDS(...)
3. ├─terra::unwrap(x)
4. └─terra::unwrap(x)
5. └─terra (local) .local(x, ...)
6. ├─base::eval(parse(text = x@definition))
7. │ └─base::eval(parse(text = x@definition))
8. ├─terra::rast(...)
9. └─terra::rast(...)
10. └─terra (local) .local(x = x, ...)
11. └─terra:::new_rast(...)
12. └─terra:::messages(r, "rast")
13. └─terra:::error(f, x@pntr$getError())
── Error ('test_extrapol_mess.R:71:3'): mess_predictor works on stars ──────────
Error: [rast] empty srs
Backtrace:
▆
1. ├─... %>% stars::st_as_stars(as_attributes = TRUE) at test_extrapol_mess.R:71:3
2. ├─stars::st_as_stars(., as_attributes = TRUE)
3. ├─terra::readRDS(...)
4. └─terra::readRDS(...)
5. ├─terra::unwrap(x)
6. └─terra::unwrap(x)
7. └─terra (local) .local(x, ...)
8. ├─base::eval(parse(text = x@definition))
9. │ └─base::eval(parse(text = x@definition))
10. ├─terra::rast(...)
11. └─terra::rast(...)
12. └─terra (local) .local(x = x, ...)
13. └─terra:::new_rast(...)
14. └─terra:::messages(r, "rast")
15. └─terra:::error(f, x@pntr$getError())
── Error ('test_overlap_niche.R:3:3'): niche_overlap quantifies difference between rasters ──
Error: [rast] empty srs
Backtrace:
▆
1. ├─terra::readRDS(...) at test_overlap_niche.R:3:3
2. └─terra::readRDS(...)
3. ├─terra::unwrap(x)
4. └─terra::unwrap(x)
5. └─terra (local) .local(x, ...)
6. ├─base::eval(parse(text = x@definition))
7. │ └─base::eval(parse(text = x@definition))
8. ├─terra::rast(...)
9. └─terra::rast(...)
10. └─terra (local) .local(x = x, ...)
11. └─terra:::new_rast(...)
12. └─terra:::messages(r, "rast")
13. └─terra:::error(f, x@pntr$getError())
── Error ('test_predict_raster.R:2:1'): (code run outside of `test_that()`) ────
Error: [rast] empty srs
Backtrace:
▆
1. ├─terra::readRDS(...) at test_predict_raster.R:2:1
2. └─terra::readRDS(...)
3. ├─terra::unwrap(x)
4. └─terra::unwrap(x)
5. └─terra (local) .local(x, ...)
6. ├─base::eval(parse(text = x@definition))
7. │ └─base::eval(parse(text = x@definition))
8. ├─terra::rast(...)
9. └─terra::rast(...)
10. └─terra (local) .local(x = x, ...)
11. └─terra:::new_rast(...)
12. └─terra:::messages(r, "rast")
13. └─terra:::error(f, x@pntr$getError())
── Error ('test_thin_by_cell.R:6:3'): thin_by_cell respects projections ────────
Error: [rast] empty srs
Backtrace:
▆
1. ├─terra::readRDS(system.file("extdata/lacerta_land_mask.rds", package = "tidysdm")) at test_thin_by_cell.R:6:3
2. └─terra::readRDS(system.file("extdata/lacerta_land_mask.rds", package = "tidysdm"))
3. ├─terra::unwrap(x)
4. └─terra::unwrap(x)
5. └─terra (local) .local(x, ...)
6. ├─base::eval(parse(text = x@definition))
7. │ └─base::eval(parse(text = x@definition))
8. ├─terra::rast(...)
9. └─terra::rast(...)
10. └─terra (local) .local(x = x, ...)
11. └─terra:::new_rast(...)
12. └─terra:::messages(r, "rast")
13. └─terra:::error(f, x@pntr$getError())
── Error ('test_thin_by_cell_time.R:5:1'): (code run outside of `test_that()`) ──
Error: [rast] empty srs
Backtrace:
▆
1. ├─terra::rast(...) at test_thin_by_cell_time.R:5:1
2. └─terra::rast(...)
3. └─terra (local) .local(x, ...)
4. ├─terra::rast(nrows = nrow(x), ncols = ncol(x), crs = crs, extent = extent)
5. └─terra::rast(nrows = nrow(x), ncols = ncol(x), crs = crs, extent = extent)
6. └─terra (local) .local(x = x, ...)
7. └─terra:::new_rast(...)
8. └─terra:::messages(r, "rast")
9. └─terra:::error(f, x@pntr$getError())
[ FAIL 10 | WARN 12 | SKIP 1 | PASS 267 ]
Error:
! Test failures.
Execution halted
- checking for unstated dependencies in vignettes ... OK
- checking package vignettes ... OK
- checking re-building of vignette outputs ... [163s] ERROR
Error(s) in re-building vignettes:
--- re-building 'a0_tidysdm_overview.Rmd' using rmarkdown
Quitting from a0_tidysdm_overview.Rmd:156-171 [land_mask_load]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error:
! [rast] empty srs
---
Backtrace:
▆
1. ├─terra::readRDS(system.file("extdata/lacerta_land_mask.rds", package = "tidysdm"))
2. └─terra::readRDS(system.file("extdata/lacerta_land_mask.rds", package = "tidysdm"))
3. ├─terra::unwrap(x)
4. └─terra::unwrap(x)
5. └─terra (local) .local(x, ...)
6. ├─base::eval(parse(text = x@definition))
7. │ └─base::eval(parse(text = x@definition))
8. ├─terra::rast(...)
9. └─terra::rast(...)
10. └─terra (local) .local(x = x, ...)
11. └─terra:::new_rast(...)
12. └─terra:::messages(r, "rast")
13. └─terra:::error(f, x@pntr$getError())
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: processing vignette 'a0_tidysdm_overview.Rmd' failed with diagnostics:
[rast] empty srs
--- failed re-building 'a0_tidysdm_overview.Rmd'
--- re-building 'a1_palaeodata_application.Rmd' using rmarkdown
--- finished re-building 'a1_palaeodata_application.Rmd'
--- re-building 'a2_tidymodels_additions.Rmd' using rmarkdown
Quitting from a2_tidymodels_additions.Rmd:65-69 [vip]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error in `xgb.get.handle()`:
! 'xgb.Booster' object is corrupted or is from an incompatible XGBoost version.
---
Backtrace:
▆
1. ├─DALEX::model_parts(explainer = explainer_lacerta_ens)
2. │ ├─ingredients::feature_importance(...)
3. │ └─ingredients:::feature_importance.explainer(...)
4. │ └─ingredients:::feature_importance.default(...)
5. │ └─base::replicate(B, loss_after_permutation())
6. │ └─base::sapply(...)
7. │ └─base::lapply(X = X, FUN = FUN, ...)
8. │ └─ingredients (local) FUN(X[[i]], ...)
9. │ └─ingredients (local) loss_after_permutation()
10. │ ├─DALEX (local) loss_function(observed, predict_function(x, sampled_data))
11. │ │ └─base::tapply(observed, predicted, sum)
12. │ └─tidysdm (local) predict_function(x, sampled_data)
13. │ ├─stats::predict(model, newdata)
14. │ └─tidysdm:::predict.simple_ensemble(model, newdata)
15. │ └─base::lapply(...)
16. │ ├─stats (local) FUN(X[[i]], ...)
17. │ └─workflows:::predict.workflow(X[[i]], ...)
18. │ ├─stats::predict(fit, new_data, type = type, opts = opts, ...)
19. │ └─parsnip::predict.model_fit(...)
20. │ ├─parsnip:::predict_classprob(...)
21. │ └─parsnip::predict_classprob.model_fit(...)
22. │ └─rlang::eval_tidy(pred_call)
23. └─parsnip::xgb_predict(object = object$fit, new_data = new_data)
24. ├─stats::predict(object, new_data, ...)
25. └─xgboost:::predict.xgb.Booster(object, new_data, ...)
26. └─xgboost:::xgb.best_iteration(object)
27. └─xgboost::xgb.attr(bst, "best_iteration")
28. └─xgboost:::xgb.get.handle(object)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: processing vignette 'a2_tidymodels_additions.Rmd' failed with diagnostics:
'xgb.Booster' object is corrupted or is from an incompatible XGBoost version.
--- failed re-building 'a2_tidymodels_additions.Rmd'
--- re-building 'a3_troubleshooting.Rmd' using rmarkdown
--- finished re-building 'a3_troubleshooting.Rmd'
SUMMARY: processing the following files failed:
'a0_tidysdm_overview.Rmd' 'a2_tidymodels_additions.Rmd'
Error: Vignette re-building failed.
Execution halted
- checking PDF version of manual ... [21s] OK
- checking HTML version of manual ... [14s] OK
- DONE
Status: 3 ERRORs, 1 NOTE