首页 > 解决方案 > 在另一列中的字符串中搜索一列中的文本

问题描述

R的新手在这里。一直在搜索此论坛以尝试找到一种方法来搜索同一行数据中的字符串中的文本。我以前使用过 grepl,但我无法让它向下看一列并为每一行应用检查。我觉得这是一个简单的解决方案,但我已经花了几个小时,似乎无法得到它。

基本上我有类似下面第 1 列的内容,需要它来检查第 2 列中的文本是否在第 1 列中,然后在新列中返回 true 或 false。

column 1         column2     result
Target_US_Toy    _US_        TRUE
Target_CA_Toy    _MX_        FALSE
Target_NZ_Toy    _NZ_        TRUE

谢谢!

标签: r

解决方案


str_detect从包装中使用stringr

library(stringr)
str_detect(df1$column1, df1$column2)

[1]  TRUE FALSE  TRUE

或仅使用 base Rgrepl与 apply 结合使用:

apply(df1,1, function(x){
  grepl(x[2], x[1])
})
[1]  TRUE FALSE  TRUE

推荐阅读