arrange
fromを使用してこれを行うことができますdplyr
。これは、グループ化変数がある場合にも機能するはずです。group_by
の前に追加するだけarrange
です。を使用して、最初の 10 個の観測値をフィルター処理しslice
ます。
library(dplyr)
df1 %>%
arrange(desc(Score)) %>%
slice(1:10)
または、別のオプション?top_n
(@docendodiscimus によるコメント)は、「スコア」の上位 n (つまり 10) エントリを使用して選択dplyr
するラッパーです。filter
min_rank
top_n(df1, 10, Score)
または、 (@Steven Beaupreによる寄稿)と同等filter
の論理条件を作成して使用しますrow_number
rank(ties.method='first')
filter(df1, row_number(desc(Score)) <= 10)
またはdata.tableオプション(@David Arenburgによる)。'data.frame' を 'data.table' に変換し ( setDT(df1)
) order
、'Score' 変数を (減少させ)、最初の 10 個の観測値を選択します。 .SD
を意味しSubset of DataTable
ます。
library(data.table)
setDT(df1)[order(-Score), .SD[1:10]]