【问题标题】:How to create a TRUE or FALSE column based on regexpr() findings in R?如何根据 R 中的 regexpr() 结果创建 TRUE 或 FALSE 列?
【发布时间】:2015-02-01 23:24:49
【问题描述】:

我正在搜索一列以查找模式,

reg <- regexpr("pattern", Data$column1)
View(reg)

reg 给了我一些如下数字:

   [1]  43  15   2  11   
   [19]  22  28  20  11
   [37]  32  11  32  20

但我希望 reg 为 0 或 1,具体取决于在 Data$column1 中是否找到“模式”。

当我使用grepl,

 reg <- grepl("pattern", Data$column1)
    View(reg)

我在reg 中只得到了 TRUE 值。不是 FALSE 值。但我希望两者都在专栏中。如果它发现模式在reg 中存储 TRUE,如果不存储 FALSE。 如何实现?

【问题讨论】:

  • @MrFlick 我看不出这不应该是一个答案。 (除非你只是留下评论然后去搜索重复)
  • @MrFlick 但我也想要列中的错误值。但 reg 仅在列中为 true。
  • @Gworld 你的评论对我来说没有意义。不如你实际创建一个reproducible example
  • @Gworld 这不是一个可重复的例子。听起来您的模式与每一行都匹配。如您所见,它适用于:x&lt;-c("ant","dog","ant"); grepl("a",x)

标签: r


【解决方案1】:

改用grepl(),它将返回一个真/假值。如果需要,可以使用as.numeric() 将其设置为 0/1。

请参阅?grep 帮助页面了解所有不同的模式查找功能。

【讨论】:

    猜你喜欢
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 2019-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    相关资源
    最近更新 更多