数据帧中grep上的布尔运算符

时间:2018-02-23 19:40:54

标签: r dataframe

我正在组织一些聚会,我一直在R数据框中存储名称和电话分机。

names <- c("Adrian Xavier", "Berta Xavier",
           "Charles Yamazaki", "Daniela Yamazaki",
           "Edward Zachary", "Fiona Zachary")
phonex <- c(4739, 3894,
            7238, 7459,
            7573, 9457)
people <- data.frame("Name"=names, "PhoneX"=phonex)

要仅邀请Yamazakis,我按

准备列表
only_y <- people[grep("Yamazaki", people$"Name"), ]

并准备一个排除相同集合的列表,我运行:

exclude_y <- people[grep("Yamazaki", people$"Name", invert=TRUE), ]

我如何准备一份排除Xaviers和Yamazakis的名单,但其中包括其他所有人?

相关问题:

1 个答案:

答案 0 :(得分:2)

只需在正则表达式中使用or

people[!grepl("Yamazaki|Xavier", people$Name), ]

            Name PhoneX
5 Edward Zachary   7573
6  Fiona Zachary   9457