获取多列R的最小值

时间:2014-07-06 15:57:02

标签: r sorting min

想象一下,我的数据框有两列A和B(输入如下所示)。我想要的是得到两列相对于B的组合的最小值。所以我命令列B然后得到A的最小值,这也是B中的最小值。因此我得到下面显示的输出。希望我能清楚地解释清楚。我找不到与此相关的任何内容。

输入:
A B
1 0
0 1
7 1
3 2

期望的输出:
A B
0 1

2 个答案:

答案 0 :(得分:1)

使用order功能。

df <- data.frame(A=sample(1:5,10,rep=TRUE),B=sample(1:5,10,rep=TRUE))
df
   A B
1  3 4
2  1 2
3  2 3
4  3 2
5  4 2
6  4 2
7  3 1
8  1 4
9  4 1
10 3 1

df[order(df$A,df$B),]
   A B
2  1 2
8  1 4
3  2 3
7  3 1
10 3 1
4  3 2
1  3 4
9  4 1
5  4 2
6  4 2
df[order(df$A,df$B)[1],]
  A B
2 1 2

答案 1 :(得分:0)

您还可以使用arrange中的dplyr

#df from the post by @bartektartanus
library(dplyr)
df%>%arrange(A,B)%>% head(1)
#  A B
#1 1 2