Я сталкиваюсь с чем-то странным, когда использую stringr
и ищу pattern
длины> 1. Я хочу в конечном итоге использовать str_which
вместе с purrr::map()
как:
searcher <- c("new1", "var1")
purrr::map(data, function(x), any(str_which(x, searcher)))
Пример данных
library(stringr)
data <- dplyr::tibble(
a = 1:8,
b = rep(paste0("var", 1:2), each = 4),
c = rep(paste0("new", 1:4), 2))
str_which(data$c, c("new1", "var1"))
#[1] 1 5
str_which(data$c, c("var1", "new1"))
#integer(0)
str_which(data$b, c("var1", "new1"))
#[1] 1 3
str_which(data$b, c("new1", "var1"))
#[1] 2 4
str_which(data$a, c(2, "var1"))
#integer(0)
str_which(data$a, c(3, "var1"))
#[1] 3
Более того, я замечаю странное поведение с str_locate
:
str_locate(data$b, c("new1", "var1"))
# start end
#[1,] NA NA
#[2,] 1 4
#[3,] NA NA
#[4,] 1 4
#[5,] NA NA
#[6,] NA NA
#[7,] NA NA
#[8,] NA NA