我有两列:A 和 B,每列的值从 1 到 7。我需要获得两列之间的最大值,不包括值 7,我该怎么做?或者在 A 有 7 的情况下,我保留 B 的值,这对我更有用,例如:
A <- c(1,1,1,3,2,4,2,5,6,7)
B <- c(7,3,6,7,4,1,6,7,3,4)
df <- data.frame(A, B)
Expected results: 1,3,6,3,4,4,6,5,6,4
最佳答案
一种选择可能是:
with(df, pmax(A * (A != 7), B * (B != 7)))
[1] 1 3 6 3 4 4 6 5 6 4
处理缺失值:with(df, pmax(A * (A != 7), B * (B != 7), na.rm = TRUE))
还考虑负值:with(df, pmax(A * (A != 7)^NA, B * (B != 7)^NA, na.rm = TRUE))
关于r - 比较R中最大值的两列时如何排除一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67039652/