我想创建一个新列,该列计算特定列中满足的条件数。
例如,使用mtcars
,条件可能如下:"disp" > 150, "hp < 100", "wt" > 2.65
[查看前三行-马自达RX4,马自达RX4 Wag,Datsun 710-新列mtcars$metcri
应分别为1、2和1。
我看过许多其他文章,并且大多数关注子集counting the total number of rows that match the criteria或使用one criteria across all the columns of concern。我确实看到一些重新使用if_else statements的东西,但是那没有用,新列的结果为52。以防万一我错过了一些东西,下面是代码:
mtcars$metcri <- sum(if_else(mtcars$disp > 150, 1, 0, missing = NULL),
if_else(mtcars$hp < 100, 1, 0, missing = NULL),
if_else(mtcars$wt > 2.65, 1, 0, missing = NULL))
任何帮助将不胜感激。
您可以直接添加三个逻辑条件
mtcars$metcri <- (mtcars$disp > 150) + (mtcars$hp < 100) + (mtcars$wt > 2.5)