R 如何通过选择2列中的最大值来执行条件行和运算
我是R新手,我一直在寻找一种方法,在两个特定列之间使用较高的值时,对整行的值求和 比如说,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
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))