我想将一个字符串列表循环到另一个列表
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
最佳答案
我们需要使用索引来对“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"
关于r - 匹配两个单词列表并返回匹配的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39342860/