【发布时间】:2019-09-03 06:12:33
【问题描述】:
我有一个这样的数据框:
V1 V2 V3 V4 V5 MAX ROW
2 5 -8 19 -20 V5 R1
12 3 5 6 -9 V1 R2
5 7 8 -1 19 V5 R3
3 -2 -5 2 4 V3 R4
6 1 -1 15 9 V4 R5
-3 -4 7 2 8 V5 R6
-6 -9 3 6 2 V2 R7
18 11 -3 13 2 V1 R8
-3 -4 7 2 8 V2 R9
-2 -3 4 7 4 V4 R10
-7 -5 27 3 1 V3 R11
V1-V5是数据列,MAX表示每一行中绝对值最高的列名,ROW只是一个行计数器。
我想找到按 MAX 分组的每一列的绝对最大值,由 ROW 编号给出。
例如:
V1 中的最大值在 R2 和 R8 行,所以我比较了 2 行 R2 和 R8 的 V1 列。它的 12 和 18,所以 R8 将是我想要得到的结果。
V2 在 R7 和 R9 行,所以我比较 R7 和 R9 的 V2 列。它的 -9 和 -4 因此结果将是 -9 的 R7(符号无关紧要)。
到目前为止,我只是根据 MAX 对数据进行子集化,所以我得到了 5 个单独的数据框,然后我手动对相关列进行了排序。有更快的方法吗?
【问题讨论】:
标签: r dataframe groupwise-maximum