R 如何通过选择2列中的最大值来执行条件行和运算

R 如何通过选择2列中的最大值来执行条件行和运算,r,R,我是R新手,我一直在寻找一种方法,在两个特定列之间使用较高的值时,对整行的值求和 比如说, set.seed(42) df <- data.frame(a = sample(0:20,5), b = sample(0:20,5), c = sample(0:20,5), d = sample(0:20,5), e = sample(0:20,5), f = sa

我是R新手,我一直在寻找一种方法,在两个特定列之间使用较高的值时,对整行的值求和

比如说,

set.seed(42)
df <- data.frame(a = sample(0:20,5),
             b = sample(0:20,5),
             c = sample(0:20,5),
             d = sample(0:20,5),
             e = sample(0:20,5),
             f = sample(0:20,5),
             g = sample(0:20,5))
print(df)

   a  b  c  d  e  f  g
1 19 10  9 19 18 10 15
2 18 14 14 20  2  7 16
3  5  2 17  2 20 17  7
4 14 11  4  8 17  8 12
5 10 17  7  9  1 14  0
set.seed(42)

df我们可以使用
pmax
获得每行列子集的最大值,并与其余列相加

library(dplyr)
df %>% 
   mutate(new = a + b + c + pmax(d, e) + pmax(f, g))

A
数据表
方法:

library(data.table)
setDT(df)[, new := a + b + c + pmax(d, e) + pmax(f, g)]
在baseR中:
行和(df[,c(“a”,“b”,“c”)))+带(df,pmax(d,e)+pmax(f,g))