lapply
над списком и используйте grep
lapply(subtrees, grep, pattern = "Maine", value = TRUE)
Возможно, вы захотите удалить из него пустые списки, что можно сделать с помощью Filter
Filter(function(x) length(x) > 0, lapply(subtrees, grep, pattern = "Maine", value = TRUE))
#[[1]]
#[1] "Maine"
#[[2]]
#[1] "Maine"
#[[3]]
#[1] "Maine"
#[[4]]
#[1] "Maine"
#[[5]]
#[1] "Maine"
#[[6]]
#[1] "Maine"
tidyverse
путь может быть
purrr::map(subtrees, ~stringr::str_subset(.x, "Maine"))
Чтобы получить индекс списка, который соответствует, мы можем использовать grepl
вместе с which
which(sapply(subtrees, function(x) any(grepl("Maine", x))))
#[1] 1 2 3 4 6 7