Subsetting eines Datenrahmens mit Top-n-Zeilen für jede Gruppe und nach einer Variablen sortiert

7

Ich möchte einen Datenrahmen für n Zeilen unterteilen, die nach einer Variablen gruppiert sind und absteigend nach einer anderen Variablen sortiert werden. Dies würde an einem Beispiel deutlich werden:

%Vor%

Ich möchte für jedes Geschlecht zwei Zeilen erhalten, die absteigend nach Alter sortiert sind. Die gewünschte Ausgabe ist:

%Vor%

Ich habe hier nach Ordnungs-, Sortier- und anderen Lösungen gesucht, konnte aber keine geeignete Lösung für dieses Problem finden. Ich schätze Ihre Hilfe.

    
karlos 20.05.2011, 17:38
quelle

5 Antworten

13

Eine Lösung, die ddply() von plyr

verwendet %Vor%     
Chase 20.05.2011, 18:05
quelle
5

Mit data.table-Paket

%Vor%     
Wojciech Sobala 20.05.2011 18:34
quelle
1

Ich bin mir sicher, dass es eine bessere Antwort gibt, aber hier ist eine Möglichkeit:

%Vor%

Wenn Sie einen größeren Datenrahmen als den hier angegebenen haben und nicht visuell prüfen möchten, welche Zeilen ausgewählt werden sollen, verwenden Sie einfach Folgendes:

%Vor%     
Manoel Galdino 20.05.2011 18:08
quelle
0

Es ist sogar einfacher als das, wenn Sie nur die Sortierung durchführen möchten:

%Vor%

Sie können dann anrufen:

%Vor%

, um die obersten zwei jeder Gender-Untergruppe zu unterteilen.

    
alphaG77 25.09.2011 16:56
quelle
0

Ich habe einen Vorschlag, wenn Sie zum Beispiel die ersten beiden Frauen und die ersten drei Männer brauchen:

%Vor%

Sie müssen nur die Namen des endgültigen Datenrahmens ändern.

    
Liliana Pacheco 05.01.2017 19:28
quelle

Tags und Links