From 048dbe1346d4b8189cfd601a78ff96335f4d1857 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christoph=20Sch=C3=BCrz?= <christoph.schuerz@ufz.de>
Date: Wed, 23 Aug 2023 09:27:32 +0200
Subject: [PATCH] Replace random sampling in name trimming in
 update_landuse_labels

---
 DESCRIPTION               | 2 +-
 R/update_landuse_labels.R | 9 +++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/DESCRIPTION b/DESCRIPTION
index 90b5e63..3295a7a 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,7 +1,7 @@
 Package: SWATdoctR
 Type: Package
 Title: Finding the right diagnoses and treatments for SWAT+ models
-Version: 0.1.20
+Version: 0.1.21
 Author: c(person("Christoph", "Schürz",
              email = "christoph.schuerz@ufz.de",
              role = c("aut", "cre")),
diff --git a/R/update_landuse_labels.R b/R/update_landuse_labels.R
index 011de7d..26e3242 100644
--- a/R/update_landuse_labels.R
+++ b/R/update_landuse_labels.R
@@ -153,8 +153,13 @@ remove_consonants <- function(tbl) {
     n <- tbl$n_chr[1] - 12
     txt_split <- str_split(tbl$lu_mgt_upd[1], '', simplify = TRUE)
     alph_pos <- which(str_detect(txt_split, '[:alpha:]'))
-    pos_rmv <- sample(alph_pos[alph_pos > 1], n)
-    txt <- paste(txt_split[-pos_rmv], collapse = '')
+    pos_rmv <- seq(2, length(alph_pos), 2)
+    pos_rmv <- pos_rmv[1:min(length(pos_rmv), n)]
+    if (length(pos_rmv) < n) {
+      n_diff <- n - length(pos_rmv)
+      pos_rmv <- c(pos_rmv, seq(3, length(alph_pos), length.out = n_diff))
+    }
+    txt <- paste(txt_split[-alph_pos[pos_rmv]], collapse = '')
     tbl$lu_mgt_upd <- txt
   }
   return(tbl)
-- 
GitLab