假设我有两个列表:
list1 <- list("aaa.bbb.txt", "ccc.dddd.txt", "e.ff.txt", "gg.hhh.txt")
list2 <- list("ff","hhh" )
我想将list1
分组到与list2
匹配的项目。在这种情况下,list1
只会包含这两项"e.ff.txt", "gg.hhh.txt"
。谢谢!
答案 0 :(得分:3)
尝试
pat <- paste(list2,collapse="|")
list1[sapply(list1, function(x) length(grep(pat,x))) >0]
#[[1]]
#[1] "e.ff.txt"
#[[2]]
#[1] "gg.hhh.txt"
或者对于此示例,以下代码也有效。
list1[grepl(pat, list1)]
#[[1]]
#[1] "e.ff.txt"
#[[2]]
#[1] "gg.hhh.txt"