Skip to content

Commit c84f9ac

Browse files
committed
⚡ Optimize res_to_m with vectorized regex
1 parent b046727 commit c84f9ac

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

R/inspire_id_to_coords.R

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,11 @@ determine_final_crs <- function(parsed_df, user_crs) {
174174
}
175175

176176
res_to_m <- function(res) {
177-
is_km <- grepl("(?<=[0-9])km", res, perl = TRUE)
178-
numbers <- as.numeric(regex_match(res, "^[0-9]+", i = 1))
179-
numbers <- ifelse(is_km, numbers * 1000, numbers)
177+
is_km <- endsWith(res, "km")
178+
numbers <- as.numeric(sub("k?m$", "", res))
179+
# which() handles NAs safely (drops them)
180+
idx_km <- which(is_km)
181+
numbers[idx_km] <- numbers[idx_km] * 1000
180182
numbers
181183
}
182184

0 commit comments

Comments
 (0)