From afa40f410f0fc65bb62e6f4b1c0cc4232ef79269 Mon Sep 17 00:00:00 2001 From: Ben Tupper Date: Tue, 30 May 2023 14:42:13 -0400 Subject: [PATCH 1/2] add drop=TRUE to clamping to allow tibble pass-through --- DESCRIPTION | 2 +- R/predict.maxnet.R | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 2404bf1..6b079cf 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -17,6 +17,6 @@ Description: Procedures to fit species distributions models from occurrence reco License: MIT + file LICENSE URL: https://github.com/mrmaxent/maxnet Roxygen: list(markdown = TRUE) -RoxygenNote: 7.2.1 +RoxygenNote: 7.2.3 LazyData: true Encoding: UTF-8 diff --git a/R/predict.maxnet.R b/R/predict.maxnet.R index 470b337..36a9053 100644 --- a/R/predict.maxnet.R +++ b/R/predict.maxnet.R @@ -39,11 +39,10 @@ predict.maxnet <- } newdataframe <- as.data.frame(newdata, na.rm = FALSE) } - - + if (clamp) { for (v in intersect(names(object$varmax), names(newdataframe))) { - newdataframe[,v] <- pmin(pmax(newdataframe[,v], object$varmin[v]), object$varmax[v]) + newdataframe[,v] <- pmin(pmax(newdataframe[,v, drop = TRUE], object$varmin[v]), object$varmax[v]) } } terms <- sub("hinge\\((.*)\\):(.*):(.*)$", "hingeval(\\1,\\2,\\3)", names(object$betas)) From 787504c9b9250aa3ebbf721164fb075bda9125bd Mon Sep 17 00:00:00 2001 From: Ben Tupper Date: Wed, 5 Jul 2023 10:27:13 -0400 Subject: [PATCH 2/2] add drop=TRUE to predict.maxnet when casting stars/terra to data.frame --- R/predict.maxnet.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R/predict.maxnet.R b/R/predict.maxnet.R index 36a9053..7b800c2 100644 --- a/R/predict.maxnet.R +++ b/R/predict.maxnet.R @@ -31,13 +31,13 @@ predict.maxnet <- if (!requireNamespace("stars", quietly = TRUE)) { stop("package stars required, please install it first") } - newdataframe <- as.data.frame(newdata)[, -c(1,2)] + newdataframe <- as.data.frame(newdata)[, -c(1,2), drop = FALSE] } if (is_spatraster <- inherits(newdata, "SpatRaster")) { if (!requireNamespace("terra", quietly = TRUE)) { stop("package terra required, please install it first") } - newdataframe <- as.data.frame(newdata, na.rm = FALSE) + newdataframe <- as.data.frame(newdata, na.rm = FALSE, drop = FALSE) } if (clamp) {