data.table - wähle zuerst n Zeilen innerhalb der Gruppe [duplizieren]

8

So einfach es ist, ich kenne keine data.table -Lösung, um die ersten n Zeilen in Gruppen in einer Datentabelle auszuwählen. Können Sie mir bitte helfen?

    
paljenczy 12.01.2016, 20:20
quelle

2 Antworten

26

Als Alternative:

%Vor%

Wenn Sie sich die Geschwindigkeit des Beispieldatensatzes ansehen, entspricht die head -Methode der .I Methode von @eddi . Vergleichen mit dem microbenchmark -Paket:

%Vor%

ergibt:

%Vor%

data.table wurde jedoch speziell für große Datenmengen entwickelt. Also, führe diesen Vergleich noch einmal durch:

%Vor%

ergibt:

%Vor%

Jetzt ist die Methode .I eindeutig die schnellste.

Update 2016-02-12:

Bei der neuesten Entwicklungsversion des Pakets data.table gewinnt die Methode .I weiterhin. Ob die Methode .SD oder head() schneller ist, hängt von der Größe des Datasets ab. Jetzt gibt der Benchmark:

%Vor%

Bei einem etwas kleineren Datensatz (aber immer noch ziemlich groß) ändern sich die Quoten:

%Vor%

Die Benchmark ist jetzt ein wenig zugunsten der Methode head gegenüber der Methode .SD :

%Vor%     
Jaap 12.01.2016, 20:33
quelle
5

Wir können head mit .SD

verwenden %Vor%     
paljenczy 12.01.2016 20:20
quelle

Tags und Links