Wie man Top-Unternehmen aus einem Datenrahmen in absteigender Reihenfolge erhält

9

Ich versuche, die Top 'n' Unternehmen aus einem Datenrahmen zu bekommen. Hier ist mein Code unten.

%Vor%

Nun möchte ich die Top 50 Beobachtungen von diesem sortierten Vektor erhalten.

    
Teja 29.08.2012, 23:27
quelle

4 Antworten

20

head und tail sind wirklich nützliche Funktionen!

%Vor%

Wenn Sie die ersten 50 Zeilen des data.frames möchten, können Sie die Funktion arrange von plyr verwenden, um data.frame zu sortieren und dann head

%Vor%

Beachten Sie, dass ich profits in einen Aufruf von desc eingeschlossen habe, was bedeutet, dass die Sortierung in absteigender Reihenfolge erfolgt.

Um ohne plyr zu arbeiten

%Vor%     
mnel 29.08.2012, 23:30
quelle
7

Verwenden Sie order , um data.frame zu sortieren, und verwenden Sie dann head , um nur die ersten 50 Zeilen zu erhalten.

%Vor%     
GSee 29.08.2012 23:40
quelle
2

Sie können rank von dplyr verwenden.

%Vor%

Dies sortiert Ihre Daten in absteigender Reihenfolge und behält nur Werte bei, deren Rang kleiner oder gleich 50 ist (d. h. die ersten 50).
Dplyr ist sehr nützlich. Die Befehle und die Verkettungssyntax sind sehr einfach zu verstehen. 10/10 würde empfehlen.

    
Vince 29.11.2016 01:12
quelle
0

Mnel ist richtig, dass Sie in der Regel die Funktionen head () und tail () zusammen mit der Sortierfunktion verwenden möchten. Ich sollte erwähnen, dass Vince's Methode bei mittleren Datenmengen schneller arbeitet. Wenn Sie head () oder tail () nicht verwendet haben, könnten Sie den grundlegenden Unterabschnitt call operator [] ....

verwenden %Vor%

Allerdings empfehle ich wirklich die Funktionen head (), tail () oder filter (), da der reguläre Operator [] davon ausgeht, dass Ihre Daten in einfach zu erstellendem Array- oder Matrixformat strukturiert sind. (Hoffentlich, das beantwortet Teja Frage)

Nun, welches Pacakage Sie wählen, ist weitgehend subjektiv. Wenn ich aber die Kommentare von Leuten lese, würde ich sagen, dass die Wahl der Anordnung (), {Basen} von pls mit {utils} head () und tails oder plyr () weitgehend von der Speichergröße und der Zeilengröße abhängt Ihr Datensatz. Ich könnte ausführlicher darüber sprechen, wie Plyr und manchmal Dplyr Probleme mit großen komplexen Datasets haben, aber ich möchte nicht vom Thema abkommen.

P.S. Dies ist eine meiner ersten Antworten, so dass Feedback geschätzt wird.

    
mlane 29.11.2016 02:42
quelle

Tags und Links