繁体   English   中英

ifelse R 中一系列列的多个 OR 条件

[英]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)

本文暂无回复,试试以下方法:

ifelse R 中一系列列的多个 OR 条件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2023 STACKOOM.COM