【问题标题】:R: How to use if statement with greplR:如何在 grepl 中使用 if 语句
【发布时间】:2019-07-10 14:35:37
【问题描述】:

我试图通过确定两个变量中的任何一个是否包含某些元素来对数据框进行分类。

我想要的是“如果 A 列或 B 列包含 x,则列 C=1”、“如果 A 列或 B 列包含 y,则列 C=2”等。

 df$C <- if(grepl("x", df$A, ignore.case = TRUE)), "1"

我得到错误:

unexpected ',' in "df$C <- if(grepl("x", df$A, ignore.case = TRUE)), "1"

【问题讨论】:

  • 你(可能)正在寻找ifelse()
  • 如果您在原问题解决后遇到新问题,请不要更改您的问题

标签: r grepl


【解决方案1】:

if 中不需要 ,。话虽如此,grepl 输出是合乎逻辑的,可以用as.integer 强制转换为二进制

as.integer(grepl("x", df$A, ignore.case = TRUE))

如果行数大于 1,则使用ifelse 而不是if/else 用于更改为不同的值或用于复杂的逻辑

【讨论】:

    猜你喜欢
    • 2021-11-09
    • 2021-01-10
    • 2020-09-09
    • 2015-04-07
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    相关资源
    最近更新 更多