首页 > 解决方案 > 如何将 GREPL 与 R 中类似模式的列中的字符串一起使用

问题描述

我正在使用 R,我正在尝试使用来清理我的数据。我有下一个数据:

example<- data.frame(x=c("hungry","fly","day","dog"),
                        y=c("i'm hungry","i believe i can fly","a hard day's night","cat"))

我试图确定 Y 列是否包含 X 列中的字符。我尝试使用 grepl() 但该函数不适用于向量,我尝试使用str_detect()但我不知道为什么不起作用。我终于尝试得到下一张桌子:

      x                   y        Flag
1 hungry          i'm hungry          1
2    fly i believe i can fly          1
3    day  a hard day's night          1
4    dog                 cat          0

我想知道是否有人可以给我一些选择或其他观点来做到这一点。

感谢!

标签: rgrepl

解决方案


您可以尝试Vectorize进行greplvercorized,例如,

example <- within(example,Flag <- +Vectorize(grepl)(x,y))

这样

> example
       x                   y Flag
1 hungry          i'm hungry    1
2    fly i believe i can fly    1
3    day  a hard day's night    1
4    dog                 cat    0

推荐阅读