R 中数据框行中值的特定聚合

Specific aggregation of values in rows of a dataframe in R

这似乎是一项非常容易的任务,但我正在寻找一种智能解决方案来根据其他四个列 (a、b、c) 的值计算列 aggr , d) 在数据框的同一行内。

参见下面的示例:

df <- data.frame(a=c(1,1,1,1,1),
                 b=c(1,2,1,3,2), 
                 d=c(1,2,3,3,3), 
                 e=c(2,2,3,3,2), 
                 aggr=c(1,2,1,3,2))

特殊条件为:

df <- data.frame(a=c(1,1,1,1,1),
             b=c(1,2,1,3,2), 
             d=c(1,2,3,3,3), 
             e=c(2,2,3,3,2))

df$aggr <- 1 + (rowSums(df == 3 | df == 2) > 2) + (rowSums(df == 3) > 2)
df
  a b d e aggr
1 1 1 1 2    1
2 1 2 2 2    2
3 1 1 3 3    1
4 1 3 3 3    3
5 1 2 3 2    2