r语言 - 在一列值中的任意位置筛选多个字符串



数据框中有多个列。在一列中,我们有公司名称和城市名称。 我想过滤列值末尾或任何地方都有城市名称的数据。

例如:输入如下

班加罗尔TCS

Wipro全球班加罗尔

班加罗尔顾问印度私人有限公司

印孚瑟斯钦奈

系统班加罗尔私人有限公司

人力

人才德里

智能科技有限公司

盐酸

亚马逊高知

佩特姆

今日印度

预期产出

班加罗尔TCS

Wipro全球班加罗尔

班加罗尔顾问印度私人有限公司

印孚瑟斯钦奈

系统班加罗尔私人有限公司

万宝盛华海得拉巴

人才德里

亚马逊高知

你需要一个所有可能城市的向量。例如:

cities <- c("Bangalore","Chennai","Delhi","Kochi","Mumbai","London","Madrid")

然后,假设您的数据框称为"data",其中一列名为"公司",以下命令应仅返回公司包含其中一个城市的行:

library(dplyr)
data %>% 
filter(grepl(paste(cities, collapse="|"), Company))

grepl函数为您执行模式匹配。

最新更新