[英]Multiple OR conditions for a range of columns in ifelse R
使用 R,我有一个 dataframe:
ID col1 col2 col3 ... col20
1 0 0 2 0
2 3 1 0 0
3 0 0 0 1
我想要一个名为cond
的列,其中对于每一行,如果 col1 到 col3 的任何值的值 >=2,则为 1,否则为 0。 output 如下:
ID col1 col2 col3 ... col20 cond
1 0 0 2 0 1
2 3 1 0 0 1
3 0 0 0 1 0
因此,我没有编写多个 OR 条件,而是尝试使用一行代码编写:
df$cond <- ifelse (df[2:4] >= 2, 1, 0)
这将返回cond
= 0 的所有值。
我很高兴听到您的解决方案。
编辑感谢@maydin,这是解决方案:
df$cond <- ifelse(rowSums(df[2:4] >= 2)>=1, 1, 0)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.