Не уверен, что здесь особенно важен ввод списка. Вот способ, который позволяет избежать использования любых итерационных функций, таких как apply
. Мы можем свернуть входной список в один шаблон регулярного выражения, а затем сверять с ним весь второй список. Возможно, вам следует быть осторожным, если в списке list1 есть какие-либо специальные символы, хотя это относится к любому методу сопоставления строк.
library(stringr)
list1 <- list("q", "w", "e", "r", "t")
list2 <- list("a", "a", "aq", "c", "f", "g")
pat <- unlist(list1) %>% str_c(collapse = "|")
list2 %>%
unlist %>%
str_detect(pat) %>%
any
#> [1] TRUE
Создано в 2019-05-16 с помощью пакета Представить (v0.2.1)