Effizienter Weg, einzelne Datenpunkte im Datenrahmen inkrementell zu zählen

7

Ich versuche einen effizienteren Weg zu finden, um einzigartige Datenpunkte in einem Datenrahmen schrittweise zu zählen.

Zum Beispiel habe ich den folgenden Code geschrieben:

%Vor%

Der Zweck des Codes besteht darin, jede Instanz eines spezifischen Wertes, z.B. Die Spalte count führt zu folgendem Ergebnis:

%Vor%

Der Code, den ich bisher geschrieben habe, erledigt den Job, aber das obige Beispiel enthält nur 10 Werte. Der reale Datenrahmen, für den ich diese Funktion ausführen möchte, enthält 52,118 values , was sehr viel Zeit in Anspruch nimmt.

Kennt jemand eine effizientere Möglichkeit, den obigen Code auszuführen?

    
Chintan Desai 14.05.2015, 20:10
quelle

3 Antworten

9

data.table Lösung

%Vor%     
user227710 14.05.2015, 20:34
quelle
6

Eine Basis R Ansatz:

%Vor%     
Colonel Beauvel 14.05.2015 20:22
quelle
6

Hier ist ein schneller Ansatz mit dem Paket dplyr :

%Vor%

Zeit (in Millisekunden):

%Vor%

Timings für alle Antworten bisher (unter Verwendung der Daten, die ich erstellt habe):

%Vor%

So data.table ist am schnellsten.

    
eipi10 14.05.2015 20:21
quelle

Tags und Links