2017-03-21 4 views
-2

私はトップ3のレコードのみを$ amountでフィルタリングする必要があるデータセットを持っています。トップ3のレコードをRで取得する

私の表は、この

PK Key Amount 
111 123 $50 
111 134 $150 
111 154 $550 
111 166 $660 
111 177 $635 
123 145 $245 
123 157 $545 
123 865 $756 
123 875 $765 
123 986 $976 

に見える私は$量でトップ3のキーを取得するには、このテーブルをソートする必要があります。

マイエンドテーブルは、ヘルプのためにこの

PK Top3Key 
111 166,177,154 
123 986,875,865 

おかげのようなものでなければなりません。!あなたのデータがdf命名されている場合は

+0

を行う[おそらく、この1](http://stackoverflow.com/questions/14800161/how-to-find-the-top-n-values-グループ単位またはカテゴリ内グループ単位でグループ単位で) – ErrantBard

答えて

0

library(dplyr) 
df %>% 
    group_by(PK) %>% 
    top_n(3, Amount) %>% 
    summarise(Top3Key = paste(Key, collapse = ',')) 
関連する問題