CRAN Package Check Results for Package CAST

Last updated on 2026-06-20 00:49:26 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 1.0.4 20.02 624.28 644.30 OK
r-devel-linux-x86_64-debian-gcc 1.0.4 11.72 433.33 445.05 OK
r-devel-linux-x86_64-fedora-clang 1.0.4 33.00 953.49 986.49 ERROR
r-devel-linux-x86_64-fedora-gcc 1.0.4 30.00 904.87 934.87 ERROR
r-devel-windows-x86_64 1.0.4 22.00 598.00 620.00 OK
r-patched-linux-x86_64 1.0.4 18.90 511.95 530.85 ERROR
r-release-linux-x86_64 1.0.4 16.66 621.76 638.42 OK
r-release-macos-arm64 1.1.0 4.00 198.00 202.00 ERROR
r-release-macos-x86_64 1.1.0 13.00 560.00 573.00 OK
r-release-windows-x86_64 1.0.4 20.00 1515.00 1535.00 OK
r-oldrel-macos-arm64 1.1.0 4.00 217.00 221.00 OK
r-oldrel-macos-x86_64 1.1.0 12.00 591.00 603.00 OK
r-oldrel-windows-x86_64 1.0.4 28.00 786.00 814.00 OK

Additional issues

linux-arm64 M1mac

Check Details

Version: 1.0.4
Check: re-building of vignette outputs
Result: ERROR Error(s) in re-building vignettes: --- re-building ‘cast01-CAST-intro.Rmd’ using rmarkdown CAST package:CAST R Documentation '_<08>c_<08>a_<08>r_<08>e_<08>t' _<08>A_<08>p_<08>p_<08>l_<08>i_<08>c_<08>a_<08>t_<08>i_<08>o_<08>n_<08>s _<08>f_<08>o_<08>r _<08>S_<08>p_<08>a_<08>t_<08>i_<08>a_<08>l-_<08>T_<08>e_<08>m_<08>p_<08>o_<08>r_<08>a_<08>l _<08>M_<08>o_<08>d_<08>e_<08>l_<08>s _<08>D_<08>e_<08>s_<08>c_<08>r_<08>i_<08>p_<08>t_<08>i_<08>o_<08>n: Supporting functionality to run 'caret' with spatial or spatial-temporal data. 'caret' is a frequently used package for model training and prediction using machine learning. CAST includes functions to improve spatial-temporal modelling tasks using 'caret'. It includes the newly suggested 'Nearest neighbor distance matching' cross-validation to estimate the performance of spatial prediction models and allows for spatial variable selection to selects suitable predictor variables in view to their contribution to the spatial model performance. CAST further includes functionality to estimate the (spatial) area of applicability of prediction models by analysing the similarity between new data and training data. Methods are described in Meyer et al. (2018); Meyer et al. (2019); Meyer and Pebesma (2021); Milà et al. (2022); Meyer and Pebesma (2022); Linnenbrink et al. (2023). The package is described in detail in Meyer et al. (2024). _<08>D_<08>e_<08>t_<08>a_<08>i_<08>l_<08>s: 'caret' Applications for Spatio-Temporal models _<08>A_<08>u_<08>t_<08>h_<08>o_<08>r(_<08>s): Hanna Meyer, Carles Milà, Marvin Ludwig, Jan Linnenbrink, Fabian Schumacher _<08>R_<08>e_<08>f_<08>e_<08>r_<08>e_<08>n_<08>c_<08>e_<08>s: • Meyer, H., Ludwig, L., Milà, C., Linnenbrink, J., Schumacher, F. (2026): The CAST package for training and assessment of spatial prediction models in R. In: Rocchini, D. (eds) R Coding for Ecology. Use R!. Springer, Cham. • Schumacher, F., Knoth, C., Ludwig, M., Meyer, H. (2025): Estimation of local training data point densities to support the assessment of spatial prediction uncertainty. Geosci. Model Dev., 18, 10185–10202. • Linnenbrink, J., Milà, C., Ludwig, M., and Meyer, H. (2024): kNNDM: k-fold Nearest Neighbour Distance Matching Cross-Validation for map accuracy estimation, Geosci. Model Dev., 17, 5897–5912. • Milà, C., Mateu, J., Pebesma, E., Meyer, H. (2022): Nearest Neighbour Distance Matching Leave-One-Out Cross-Validation for map validation. Methods in Ecology and Evolution 13, 1304– 1316. • Meyer, H., Pebesma, E. (2022): Machine learning-based global maps of ecological variables and the challenge of assessing them. Nature Communications. 13. • Meyer, H., Pebesma, E. (2021): Predicting into unknown space? Estimating the area of applicability of spatial prediction models. Methods in Ecology and Evolution. 12, 1620– 1633. • Meyer, H., Reudenbach, C., Wöllauer, S., Nauss, T. (2019): Importance of spatial predictor variable selection in machine learning applications - Moving from data reproduction to spatial prediction. Ecological Modelling. 411, 108815. • Meyer, H., Reudenbach, C., Hengl, T., Katurji, M., Nauß, T. (2018): Improving performance of spatio-temporal machine learning models using forward feature selection and target-oriented validation. Environmental Modelling & Software 101: 1-9. _<08>S_<08>e_<08>e _<08>A_<08>l_<08>s_<08>o: Useful links: • <https://github.com/HannaMeyer/CAST> • <https://hannameyer.github.io/CAST/> • Report bugs at <https://github.com/HannaMeyer/CAST/issues/> Quitting from cast01-CAST-intro.Rmd:72-78 [unnamed-chunk-5] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <error/rlang_error> Error: ! unable to find an inherited method for function 'crop' for signature 'x = "NULL"' --- Backtrace: ▆ 1. └─terra::crop(c(wc, elev), st_bbox(splotdata)) 2. └─methods (local) `<fn>`(`<list>`, `<stndrdGn>`, `<env>`) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Error: processing vignette 'cast01-CAST-intro.Rmd' failed with diagnostics: unable to find an inherited method for function 'crop' for signature 'x = "NULL"' --- failed re-building ‘cast01-CAST-intro.Rmd’ --- re-building ‘cast02-plotgeodist.Rmd’ using rmarkdown Quitting from cast02-plotgeodist.Rmd:243-248 [unnamed-chunk-17] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <error/rlang_error> Error in `names(predictors_global) <- c(paste0("bio_", 1:19))`: ! attempt to set an attribute on NULL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Error: processing vignette 'cast02-plotgeodist.Rmd' failed with diagnostics: attempt to set an attribute on NULL --- failed re-building ‘cast02-plotgeodist.Rmd’ --- re-building ‘cast03-CV.Rmd’ using rmarkdown --- finished re-building ‘cast03-CV.Rmd’ --- re-building ‘cast04-AOA-tutorial.Rmd’ using rmarkdown --- finished re-building ‘cast04-AOA-tutorial.Rmd’ --- re-building ‘cast05-parallel.Rmd’ using rmarkdown --- finished re-building ‘cast05-parallel.Rmd’ SUMMARY: processing the following files failed: ‘cast01-CAST-intro.Rmd’ ‘cast02-plotgeodist.Rmd’ Error: Vignette re-building failed. Execution halted Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc

Version: 1.0.4
Check: re-building of vignette outputs
Result: ERROR Error(s) in re-building vignettes: ... --- re-building ‘cast01-CAST-intro.Rmd’ using rmarkdown CAST package:CAST R Documentation '_<08>c_<08>a_<08>r_<08>e_<08>t' _<08>A_<08>p_<08>p_<08>l_<08>i_<08>c_<08>a_<08>t_<08>i_<08>o_<08>n_<08>s _<08>f_<08>o_<08>r _<08>S_<08>p_<08>a_<08>t_<08>i_<08>a_<08>l-_<08>T_<08>e_<08>m_<08>p_<08>o_<08>r_<08>a_<08>l _<08>M_<08>o_<08>d_<08>e_<08>l_<08>s _<08>D_<08>e_<08>s_<08>c_<08>r_<08>i_<08>p_<08>t_<08>i_<08>o_<08>n: Supporting functionality to run 'caret' with spatial or spatial-temporal data. 'caret' is a frequently used package for model training and prediction using machine learning. CAST includes functions to improve spatial-temporal modelling tasks using 'caret'. It includes the newly suggested 'Nearest neighbor distance matching' cross-validation to estimate the performance of spatial prediction models and allows for spatial variable selection to selects suitable predictor variables in view to their contribution to the spatial model performance. CAST further includes functionality to estimate the (spatial) area of applicability of prediction models by analysing the similarity between new data and training data. Methods are described in Meyer et al. (2018); Meyer et al. (2019); Meyer and Pebesma (2021); Milà et al. (2022); Meyer and Pebesma (2022); Linnenbrink et al. (2023). The package is described in detail in Meyer et al. (2024). _<08>D_<08>e_<08>t_<08>a_<08>i_<08>l_<08>s: 'caret' Applications for Spatio-Temporal models _<08>A_<08>u_<08>t_<08>h_<08>o_<08>r(_<08>s): Hanna Meyer, Carles Milà, Marvin Ludwig, Jan Linnenbrink, Fabian Schumacher _<08>R_<08>e_<08>f_<08>e_<08>r_<08>e_<08>n_<08>c_<08>e_<08>s: • Meyer, H., Ludwig, L., Milà, C., Linnenbrink, J., Schumacher, F. (2026): The CAST package for training and assessment of spatial prediction models in R. In: Rocchini, D. (eds) R Coding for Ecology. Use R!. Springer, Cham. • Schumacher, F., Knoth, C., Ludwig, M., Meyer, H. (2025): Estimation of local training data point densities to support the assessment of spatial prediction uncertainty. Geosci. Model Dev., 18, 10185–10202. • Linnenbrink, J., Milà, C., Ludwig, M., and Meyer, H. (2024): kNNDM: k-fold Nearest Neighbour Distance Matching Cross-Validation for map accuracy estimation, Geosci. Model Dev., 17, 5897–5912. • Milà, C., Mateu, J., Pebesma, E., Meyer, H. (2022): Nearest Neighbour Distance Matching Leave-One-Out Cross-Validation for map validation. Methods in Ecology and Evolution 13, 1304– 1316. • Meyer, H., Pebesma, E. (2022): Machine learning-based global maps of ecological variables and the challenge of assessing them. Nature Communications. 13. • Meyer, H., Pebesma, E. (2021): Predicting into unknown space? Estimating the area of applicability of spatial prediction models. Methods in Ecology and Evolution. 12, 1620– 1633. • Meyer, H., Reudenbach, C., Wöllauer, S., Nauss, T. (2019): Importance of spatial predictor variable selection in machine learning applications - Moving from data reproduction to spatial prediction. Ecological Modelling. 411, 108815. • Meyer, H., Reudenbach, C., Hengl, T., Katurji, M., Nauß, T. (2018): Improving performance of spatio-temporal machine learning models using forward feature selection and target-oriented validation. Environmental Modelling & Software 101: 1-9. _<08>S_<08>e_<08>e _<08>A_<08>l_<08>s_<08>o: Useful links: • <https://github.com/HannaMeyer/CAST> • <https://hannameyer.github.io/CAST/> • Report bugs at <https://github.com/HannaMeyer/CAST/issues/> Quitting from cast01-CAST-intro.Rmd:72-78 [unnamed-chunk-5] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <error/rlang_error> Error: ! unable to find an inherited method for function 'crop' for signature 'x = "NULL"' --- Backtrace: ▆ 1. └─terra::crop(c(wc, elev), st_bbox(splotdata)) 2. └─methods (local) `<fn>`(`<list>`, `<stndrdGn>`, `<env>`) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Error: processing vignette 'cast01-CAST-intro.Rmd' failed with diagnostics: unable to find an inherited method for function 'crop' for signature 'x = "NULL"' --- failed re-building ‘cast01-CAST-intro.Rmd’ --- re-building ‘cast02-plotgeodist.Rmd’ using rmarkdown Quitting from cast02-plotgeodist.Rmd:243-248 [unnamed-chunk-17] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <error/rlang_error> Error in `names(predictors_global) <- c(paste0("bio_", 1:19))`: ! attempt to set an attribute on NULL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Error: processing vignette 'cast02-plotgeodist.Rmd' failed with diagnostics: attempt to set an attribute on NULL --- failed re-building ‘cast02-plotgeodist.Rmd’ --- re-building ‘cast03-CV.Rmd’ using rmarkdown --- finished re-building ‘cast03-CV.Rmd’ --- re-building ‘cast04-AOA-tutorial.Rmd’ using rmarkdown --- finished re-building ‘cast04-AOA-tutorial.Rmd’ --- re-building ‘cast05-parallel.Rmd’ using rmarkdown --- finished re-building ‘cast05-parallel.Rmd’ SUMMARY: processing the following files failed: ‘cast01-CAST-intro.Rmd’ ‘cast02-plotgeodist.Rmd’ Error: Vignette re-building failed. Execution halted Flavor: r-patched-linux-x86_64

Version: 1.1.0
Check: tests
Result: ERROR Running ‘testthat.R’ [60s/61s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > library(testthat) > library(CAST) > > test_check("CAST") Loading required package: ggplot2 Loading required package: lattice note: variables were not weighted either because no weights or model were given, no variable importance could be retrieved from the given model, or the model has a single feature. Check caret::varImp(model) note: No model and no CV folds were given. The DI threshold is therefore based on all training data note: variables were not weighted either because no weights or model were given, no variable importance could be retrieved from the given model, or the model has a single feature. Check caret::varImp(model) note: No model and no CV folds were given. The DI threshold is therefore based on all training data DI: class : SpatRaster size : 58, 101, 1 (nrow, ncol, nlyr) resolution : 10, 10 (x, y) extent : 493179, 494189, 5180552, 5181132 (xmin, xmax, ymin, ymax) coord. ref. : NAD83 / UTM zone 11N (EPSG:26911) source(s) : memory varname : predictors_2012-03-25 name : DI min value : 0 max value : 4.448467 AOA: class : SpatRaster size : 58, 101, 1 (nrow, ncol, nlyr) resolution : 10, 10 (x, y) extent : 493179, 494189, 5180552, 5181132 (xmin, xmax, ymin, ymax) coord. ref. : NAD83 / UTM zone 11N (EPSG:26911) source(s) : memory varname : predictors_2012-03-25 name : AOA min value : 0 max value : 1 Predictor Weights: DEM TWI NDRE.Sd 1 1.279708 8.469273 4.22456 AOA Threshold: 0.3898564DI: class : SpatRaster size : 58, 101, 1 (nrow, ncol, nlyr) resolution : 10, 10 (x, y) extent : 493179, 494189, 5180552, 5181132 (xmin, xmax, ymin, ymax) coord. ref. : NAD83 / UTM zone 11N (EPSG:26911) source(s) : memory varname : predictors_2012-03-25 name : DI min value : 0 max value : 4.448467 AOA: class : SpatRaster size : 58, 101, 1 (nrow, ncol, nlyr) resolution : 10, 10 (x, y) extent : 493179, 494189, 5180552, 5181132 (xmin, xmax, ymin, ymax) coord. ref. : NAD83 / UTM zone 11N (EPSG:26911) source(s) : memory varname : predictors_2012-03-25 name : AOA min value : 0 max value : 1 Predictor Weights: DEM TWI NDRE.Sd 1 1.279708 8.469273 4.22456 AOA Threshold: 0.3898564Saving _problems/test-bss-14.R Saving _problems/test-bss-17.R [1] "model using Sepal.Length,Sepal.Width will be trained now..." note: only 1 unique complexity parameters in default grid. Truncating the grid to 1 . [1] "maximum number of models that still need to be trained: 8" [1] "model using Sepal.Length,Petal.Length will be trained now..." note: only 1 unique complexity parameters in default grid. Truncating the grid to 1 . [1] "maximum number of models that still need to be trained: 7" [1] "model using Sepal.Length,Petal.Width will be trained now..." note: only 1 unique complexity parameters in default grid. Truncating the grid to 1 . [1] "maximum number of models that still need to be trained: 6" [1] "model using Sepal.Width,Petal.Length will be trained now..." note: only 1 unique complexity parameters in default grid. Truncating the grid to 1 . [1] "maximum number of models that still need to be trained: 5" [1] "model using Sepal.Width,Petal.Width will be trained now..." note: only 1 unique complexity parameters in default grid. Truncating the grid to 1 . [1] "maximum number of models that still need to be trained: 4" [1] "model using Petal.Length,Petal.Width will be trained now..." note: only 1 unique complexity parameters in default grid. Truncating the grid to 1 . [1] "maximum number of models that still need to be trained: 3" [1] "vars selected: Petal.Length,Petal.Width with Accuracy 0.954" [1] "model using additional variable Sepal.Length will be trained now..." note: only 2 unique complexity parameters in default grid. Truncating the grid to 2 . [1] "maximum number of models that still need to be trained: 2" [1] "model using additional variable Sepal.Width will be trained now..." note: only 2 unique complexity parameters in default grid. Truncating the grid to 2 . [1] "maximum number of models that still need to be trained: 1" [1] "vars selected: Petal.Length,Petal.Width,Sepal.Width with Accuracy 0.955" [1] "model using additional variable Sepal.Length will be trained now..." [1] "maximum number of models that still need to be trained: 0" [1] "vars selected: Petal.Length,Petal.Width,Sepal.Width with Accuracy 0.955" Sampling 2000 prediction locations from the modeldomain raster. Sampling 2000 prediction locations from the modeldomain vector. Sampling 2000 prediction locations from the modeldomain vector. Sampling 2000 prediction locations from the modeldomain raster. Sampling 2000 prediction locations from the modeldomain raster. Extracting predictors from modeldomain samplesize for new data shouldn't be larger than number of pixels. Samplesize was reduced to 100 Sampling 100 prediction locations from the modeldomain raster. samplesize for new data shouldn't be larger than number of pixels. Samplesize was reduced to 100 Sampling 100 prediction locations from the modeldomain raster. Extracting predictors from modeldomain samplesize for new data shouldn't be larger than number of pixels. Samplesize was reduced to 100 Sampling 100 prediction locations from the modeldomain raster. Extracting predictors from modeldomain Sampling 2000 prediction locations from the modeldomain vector. samplesize for new data shouldn't be larger than number of pixels. Samplesize was reduced to 100 Sampling 100 prediction locations from the modeldomain raster. Extracting predictors from modeldomain Sampling 2000 prediction locations from the modeldomain raster. time variable selected: Date time variable selected: Date time variable selected: Date Sampling 2000 prediction locations from the modeldomain raster. note: only 2 unique complexity parameters in default grid. Truncating the grid to 2 . note: only 2 unique complexity parameters in default grid. Truncating the grid to 2 . although coordinates are longitude/latitude, st_sample assumes that they are planar 1000 prediction points are sampled from the modeldomain Gij <= Gj; a random CV assignment is returned 1000 prediction points are sampled from the modeldomain Gij <= Gj; a random CV assignment is returned 1000 prediction points are sampled from the modeldomain predictor values are extracted for prediction points Gij <= Gj; a random CV assignment is returned 1000 prediction points are sampled from the modeldomain predictor values are extracted for prediction points Gij <= Gj; a random CV assignment is returned 1000 prediction points are sampled from the modeldomain predictor values are extracted for prediction points variable(s) 'fct' is (are) treated as categorical variables some prediction points contain NAs, which will be removed Gij <= Gj; a random CV assignment is returned 1000 prediction points are sampled from the modeldomain predictor values are extracted for prediction points variable(s) 'fct' is (are) treated as categorical variables 1000 prediction points are sampled from the modeldomain predictor values are extracted for prediction points variable(s) 'fct' is (are) treated as categorical variables 1000 prediction points are sampled from the modeldomain predictor values are extracted for prediction points 1000 prediction points are sampled from the modeldomain predictor values are extracted for prediction points 1000 prediction points are sampled from the modeldomain predictor values are extracted for prediction points 1000 prediction points are sampled from the modeldomain predictor values are extracted for prediction points knndm object Space: Clustering algorithm: kmeans Intermediate clusters (q): 4 W statistic: 1.065 Number of folds: 2 Observations in each fold: 4 2 knndm object Space: Clustering algorithm: kmeans Intermediate clusters (q): 4 W statistic: 1.065 Number of folds: 2 Observations in each fold: 4 2 1000 prediction points are sampled from the modeldomain 1000 prediction points are sampled from the modeldomain 1000 prediction points are sampled from the modeldomain 1000 prediction points are sampled from the modeldomain 1000 prediction points are sampled from the modeldomain predictor values are extracted for prediction points 1000 prediction points are sampled from the modeldomain nndm object Total number of points: 10 Mean number of training points: 8.8 Minimum number of training points: 8 nndm object Total number of points: 10 Mean number of training points: 8.8 Minimum number of training points: 8 No trainDI provided. Computing DI of training data... | | | 0% | |== | 3% | |===== | 7% | |======= | 10% | |========= | 13% | |============ | 17% | |============== | 20% | |================ | 23% | |=================== | 27% | |===================== | 30% | |======================= | 33% | |========================== | 37% | |============================ | 40% | |============================== | 43% | |================================= | 47% | |=================================== | 50% | |===================================== | 53% | |======================================== | 57% | |========================================== | 60% | |============================================ | 63% | |=============================================== | 67% | |================================================= | 70% | |=================================================== | 73% | |====================================================== | 77% | |======================================================== | 80% | |========================================================== | 83% | |============================================================= | 87% | |=============================================================== | 90% | |================================================================= | 93% | |==================================================================== | 97% | |======================================================================| 100% Computing DI of new data... Computing AOA... Finished! DI of 30 observation Predictors: DEM TWI NDRE.Sd AOA Threshold: 0.3898564DI of 30 observation Predictors: DEM TWI NDRE.Sd AOA Threshold: 0.3898564[ FAIL 2 | WARN 0 | SKIP 20 | PASS 144 ] ══ Skipped tests (20) ══════════════════════════════════════════════════════════ • On CRAN (20): 'test-aoa.R:124:3', 'test-aoa.R:150:3', 'test-aoa.R:184:3', 'test-aoa.R:197:3', 'test-errorProfiles.R:3:3', 'test-errorProfiles.R:36:3', 'test-errorProfiles.R:67:3', 'test-errorProfiles.R:95:3', 'test-errorProfiles.R:119:3', 'test-fss.R:3:3', 'test-fss.R:27:3', 'test-fss.R:47:3', 'test-fss.R:70:3', 'test-fss.R:120:5', 'test-fss.R:135:5', 'test-fss.R:152:5', 'test-fss.R:171:5', 'test-fss.R:192:5', 'test-fss.R:210:5', 'test-fss.R:232:3' ══ Failed tests ════════════════════════════════════════════════════════════════ ── Failure ('test-bss.R:14:3'): bss works with default arguments ─────────────── Expected `selection$selectedvars` to be identical to `c("bio_1", "bio_4", "bio_5", "bio_6", "bio_8", "bio_12")`. Differences: `actual`: "bio_1" "bio_4" "bio_6" "bio_12" `expected`: "bio_1" "bio_4" "bio_5" "bio_6" "bio_8" "bio_12" ── Failure ('test-bss.R:17:3'): bss works with default arguments ─────────────── Expected `round(selection$results$RMSE, 2)` to be identical to 27.4. Differences: `actual`: 27.69 `expected`: 27.40 [ FAIL 2 | WARN 0 | SKIP 20 | PASS 144 ] Error: ! Test failures. Execution halted Flavor: r-release-macos-arm64