我正在尝试应用正则表达式来匹配R中两个不同长度的数据帧中的值。我的目标是在两个数据帧中仅保留与正则表达式匹配的值。
数据集的示例为:
a<-c('item1','item2','item4')
b<-c('item1','\t item2','item3','item4')
我尝试做grepl(a$. , b$.)
,但它仅适用于“第一”行。只是为了说明,两列中的值具有相同的内核名称,但是可能会有细微的差异,因此我确实需要某种正则表达式。
如果代码有效,我将获得新对象'c'(也可以是a的过滤版本)等于
c<-c('item1','item2','item4')
给你和平
答案 0 :(得分:1)
我们可以将'a'的元素paste
设置为单个表达式模式,并在grep
中使用它
grep(paste(a, collapse = "|"), b, value = TRUE)