我想将字符串列表循环到另一个列表
cutter_Ch <- c('happy','birthday','Lucia')
pos <- c('Lucia','today')
我能做到的一种方式是用lapply
pos.matches = lapply(cutter_Ch, pmatch, pos)
[[1]]
[1] NA
[[2]]
[1] NA
[[3]]
[1] 1
但是,我希望函数返回匹配的字符串而不是NA和匹配的次数,如此
[[1]]
[1] NA
[[2]]
[1] NA
[[3]]
[1] Lucia
答案 0 :(得分:1)
我们需要使用索引来对'pos'
进行子集化lapply(cutter_Ch, function(x) pos[pmatch(x, pos)])
目前尚不清楚这个例子是否是更复杂的简化版本。无论如何,使用str_extract
我们可以在vector
library(stringr)
str_extract(cutter_Ch, paste(pos, collapse="|"))
#[1] NA NA "Lucia"