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