Rのグループごとに順序統計を計算するにはどうすればよいですか。列に従って結果を集計し、グループごとに1行だけを返します。その行は、いくつかの順序に従って、グループのn番目の要素である必要があります。理想的には、基本関数のみを使用したいと思います。
x <- data.frame(Group=c("A","A", "A", "C", "C"),
Name=c("v", "u", "w", "x", "y"),
Quantity=c(3,3,4,2,0))
> x
Group Name Quantity
1 A v 3
2 A u 3
3 A w 4
4 C x 2
5 C y 0
数量、名前の順に並べて、n番目に高い値を取得したいと思います。N = 2の場合、これは
Group Name Quantity
1 A u 3
5 C y 0
For N=1
Group Name Quantity
3 A w 4
4 C x 2
次のことを試しましたが、情報のないエラーメッセージが表示されます。
aggregate.data.frame(x, list(x$Group), function(y){ max(y[,'Quantity'])})
Error in `[.default`(y, , "Quantity") (from #1) : incorrect number of dimensions"