gpt4 book ai didi

r - 对于每一列,计算它与其他列的最大值之间的差异

转载 作者:行者123 更新时间:2023-12-04 09:08:49 26 4
gpt4 key购买 nike

假设我有一个数据框:

x <- data.frame(a=c(1,2,3), b=c(2,3,2), c=c(4,5,1))
# a b c
#1 1 2 4
#2 2 3 5
#3 3 2 1

对于每一列,我想计算它与其他列的最大值之间的差异:

# Desired result:
# a b c
#1 -3 -2 2
#2 -3 -2 2
#3 1 -1 -2

例如,对于 (1,1) 条目,它是 1,因为对于第一行,a = 1,并且 max(b,c) = 4 , 所以 1 - 4 = -3

请注意,我不一定事先知道数据框中的列数,因此可以有任意多列。

最佳答案

这应该适用于任意数量的列:

sapply(1:ncol(x), function (i) {
x[,i] - do.call(pmax, x[,-i])
})

关于r - 对于每一列,计算它与其他列的最大值之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45971368/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com