【问题标题】:filter multiple strings anywhere in one column values在一列值中的任意位置过滤多个字符串
【发布时间】:2020-02-11 09:50:52
【问题描述】:

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

例如:输入如下

TCS 班加罗尔

Wipro 全球班加罗尔

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

Infosys 钦奈

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

人力

人才德里

智能科技有限公司

盐酸

亚马逊高知

支付宝

今天的印度

预期输出

TCS 班加罗尔

Wipro 全球班加罗尔

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

Infosys 钦奈

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

人力海得拉巴

人才德里

亚马逊高知

【问题讨论】:

    标签: r filter data-science data-analysis


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 请显示str(data) 的输出,其中data 是您的数据框的名称。
    猜你喜欢
    • 1970-01-01
    • 2014-10-28
    • 2019-10-23
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    相关资源
    最近更新 更多