Я хотел бы отфильтровать фрейм данных, используя сопоставление filter () и str_detect () для нескольких шаблонов без нескольких вызовов функции str_detect (). В приведенном ниже примере я хотел бы отфильтровать фрейм данных df
, чтобы отображались только строки, содержащие буквы a
f
и o
.
df <- data.frame(numbers = 1:52, letters = letters)
df %>%
filter(
str_detect(.$letters, "a")|
str_detect(.$letters, "f")|
str_detect(.$letters, "o")
)
# numbers letters
#1 1 a
#2 6 f
#3 15 o
#4 27 a
#5 32 f
#6 41 o
Я попытался сделать следующее
df %>%
filter(
str_detect(.$letters, c("a", "f", "o"))
)
# numbers letters
#1 1 a
#2 15 o
#3 32 f
и получите следующую ошибку
Предупреждение: в stri_detect_regex (string, pattern, opts_regex = opts (pattern)): более длинная длина объекта не кратна длине более короткого объекта.