Selecione os principais N valores por grupo

Isso é em resposta auma pergunta feita na lista de discussão do r-help.

Aqui estãogrande quantidade de exemplos de como encontrar os principais valores por grupo usandosql, então eu imagino que é fácil converter esse conhecimento em usar o Rsqldf pacote.

Um exemplo: quandomtcars é agrupado porcyl, aqui estão os três principais registros para cada valor distinto decyl. Note que os empates são excluídos neste caso, mas seria bom mostrar algumas maneiras diferentes de tratar os empates.

                     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

Como encontrar a parte superior ou inferior (máxima ou mínima) N registros por grupo?

questionAnswers(7)

yourAnswerToTheQuestion