如何获得前3个值?

时间:2014-07-14 10:30:27

标签: r dataframe

我有一个数据框df,如下所示:

col1   col2             
aa     5      
bb     6          
cc     8        
dd     2      
ee     10

我想将输出作为数据框,其中包含df的前3个值(前3个在第2列上计算),如下所示:

col1   col2              
ee     10              
cc     8               
bb     6

3 个答案:

答案 0 :(得分:3)

您可以在R中使用order函数进行任何排序操作。例如在你的情况下

df <- df[order(df$col2,decreasing = TRUE),]

这将为您提供基于第二列的有序数据框。如果你想要前三名,那就是 选择前3行

df <- df[1:3,]

答案 1 :(得分:2)

head(df[rev(order(df$col2)),],3)
#    col1 col2
# 5   ee   10
# 3   cc    8
# 2   bb    6

答案 2 :(得分:0)

另一种方法是使用dplyr

library(dplyr)

dat %>%
+ arrange(-col2) %>%
+ head(3)

  col1 col2
1   ee   10
2   cc    8
3   bb    6