我试图通过确定两个变量中的任何一个是否包含某些元素来对数据帧进行分类。
我想要的是“如果列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"
答案 0 :(得分:2)
我们在,
中不需要if
。话虽如此,grepl
输出是逻辑的,可以使用as.integer
as.integer(grepl("x", df$A, ignore.case = TRUE))
如果行数大于1,请使用ifelse
而不是if/else
更改为不同的值或使用复杂的逻辑