"two or more of five variables match a condition" 的条件语句?

Conditional statement for "two or more of five variables match a condition"?

我有五个变量作为数据框中的列,并且想要 select 那些其中两个或多个变量包含大于 5 的值的行:

A B C D E
1 2 1 8 7 <- two variables larger than 5
2 7 2 4 3
8 3 2 4 9 <- ditto

如何使用条件语句 select 那些行?

我可以通过明确列出所有组合来做到这一点,但必须有更简单的方法:

(A > 5 & B > 5) | (A > 5 & C > 5) | ...

你可以这样做:

( A>5 + B>5 + C>5 + D>5 + E>5 ) >= 2

由于逻辑值被强制转换为二进制,TRUE 强制转换为 1,FALSE 转换为 0,您可以添加逻辑值并查看是否有两个或更多。