【问题标题】:Check if comma delimited column contains a value检查逗号分隔的列是否包含值
【发布时间】:2022-06-10 22:56:09
【问题描述】:

我有一个 R 数据框,其中一列是逗号分隔的字符串。我想在数据集中添加一个新列以显示该列是否包含特定值

例如

> data <- data.frame(a = 1:5, b = c("123", "6475,320", "475", "905,1204,543", "567,475"))
> data
  a            b
1 1          123
2 2     6475,320
3 3          475
4 4 905,1204,543
5 5      567,475

我想创建一个新列来指示b 是否包含 475,这将留给我

  a            b has_475
1 1          123   FALSE
2 2     6475,320   FALSE
3 3          475    TRUE
4 4 905,1204,543   FALSE
5 5      567,475    TRUE

【问题讨论】:

    标签: r


    【解决方案1】:

    你可以使用这个正则表达式

    data["has_475"] = grepl("(^|,)475",data$b)
    

    输出:

      a            b has_475
    1 1          123   FALSE
    2 2     6475,320   FALSE
    3 3          475    TRUE
    4 4 905,1204,543   FALSE
    5 5      567,475    TRUE
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      • 1970-01-01
      相关资源
      最近更新 更多