首页 > 解决方案 > 更改完成条件的行的顺序

问题描述

想象一下我有这个数据框:

A    B    C    D
1    2    3    4
5    7    6    8
9    10   11   12
13   15   14   16

如何重新排序列的行B以及C何时B高于C

我想要的输出是:

A   B    C   D
1   2    3   4
5   6    7   8
9   10   11  12
13  14   15  16

谢谢!

标签: r

解决方案


您可以使用pminpmax

transform(df, B = pmin(B, C), C = pmax(B, C))

#   A  B  C  D
#1  1  2  3  4
#2  5  6  7  8
#3  9 10 11 12
#4 13 14 15 16

或与ifelse

transform(df, B = ifelse(B > C, C, B), C = ifelse(C > B, C, B))

推荐阅读