R 包含单词的过滤器

R 包含单词的过滤器,r,R,我在R上创建了一列路径,如下所示: Path Adam > Bob > Jeff Bob > Sarah > Kevin Adam > Sarah > Kevin Jeff > Adam > Bob Adam > Kevin > Jeff 如何过滤该列,使其只包含以下路径: Path Adam > Bob > Jeff Jeff > Adam > Bob Adam > Kevin > Jeff 我

我在R上创建了一列路径,如下所示:

Path
Adam > Bob > Jeff
Bob > Sarah > Kevin
Adam > Sarah > Kevin
Jeff > Adam > Bob
Adam > Kevin > Jeff
如何过滤该列,使其只包含以下路径:

Path
Adam > Bob > Jeff
Jeff > Adam > Bob
Adam > Kevin > Jeff

我们可以使用
grep
或者使用
[
(对于
[
,默认情况下
drop=TRUE
——因此,我们需要将其更改为
drop=FALSE
,以避免将一列/一行数据集转换为
向量

或者对于
子集
,我们不必像默认情况下那样使用
drop=FALSE

subset(df1, grepl("\\bJeff\\b", Path, ignore.case = TRUE))
#                 Path
#1   Adam > Bob > Jeff
#4   Jeff > Adam > Bob
#5 Adam > Kevin > Jeff

我们匹配的模式是“Jeff”,但为了更严格,即不匹配“Jeffy”或“Jefferson”,我们可以在单词前后添加单词边界(
\\b
)。

尝试
df1[grep(\\bJeff\\b),df1$Path,ignore.case=TRUE),drop=FALSE]
您想区分“Jeff”和“Jefferson”吗太棒了,伙计,谢谢阿洛蒂试图使用过滤器,但没用,阿克伦解决了,所以别担心。
subset(df1, grepl("\\bJeff\\b", Path, ignore.case = TRUE))
#                 Path
#1   Adam > Bob > Jeff
#4   Jeff > Adam > Bob
#5 Adam > Kevin > Jeff