R:如何在grepl中使用if语句

时间:2019-07-10 14:35:37

标签: r grepl

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

我想要的是“如果列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"

1 个答案:

答案 0 :(得分:2)

我们在,中不需要if。话虽如此,grepl输出是逻辑的,可以使用as.integer

强制转换为二进制
as.integer(grepl("x", df$A, ignore.case = TRUE))

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