これは、r-helpメーリングリストで尋ねられた質問への回答です。
を使用してグループごとに上位の値を見つける方法の例がたくさんあるので、Rパッケージsql
を使用するよりもその知識を変換するのは簡単だと思います。sqldf
例:mtcars
がでグループ化されcyl
ている場合、の個別の値ごとの上位3つのレコードを次に示しますcyl
。この場合、ネクタイは除外されますが、ネクタイを処理するいくつかの異なる方法を示すとよいでしょう。
mpg cyl disp hp drat wt qsec vs am gear carb ranks
Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1 2.0
Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2 1.0
Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1 2.0
Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4 3.0
Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4 1.0
Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4 1.5
Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4 1.5
Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4 3.0
グループごとに上位または下位(最大または最小)のNレコードを見つける方法は?