effiziente Nutzung von R data.table und unique ()

8

Gibt es eine effizientere Abfrage als die folgenden

? %Vor%

zum Verfeinern einer Tabelle im LONG-Format mit Kundennummern, Bestellnummer und Produktwerbebuchungen. Dies bedeutet, dass doppelte Zeilen mit derselben Bestell-ID vorhanden sind, wenn ein Kunde mehr als einen Artikel in dieser Transaktion gekauft hat.

Versuche, einzigartige Einkäufe zu erarbeiten. length() gibt alle Bestell-IDs nach Kundennummer einschließlich Dubletten an und sucht nur nach der eindeutigen Nummer.

Bearbeiten von hier:

Hier ist ein Dummy-Code. Im Idealfall suche ich nach der Ausgabe der ersten Abfrage mit unique() .

%Vor%     
digdeep 24.10.2013, 01:29
quelle

2 Antworten

12

Wenn Sie versuchen, die Anzahl der einmaligen Käufe pro Kunde zu zählen, verwenden Sie

%Vor%     
Ricardo Saporta 24.10.2013, 01:33
quelle
1

Ab Version 1.9.6 (am 19.9.2015, CRAN) hat data.table die Hilfsfunktion uniqueN() erhalten, was äquivalent zu length(unique(x)) ist, aber viel schneller (nach data.table NEWS ).

Damit,

%Vor%

und

%Vor%

kann als

umgeschrieben werden %Vor%
%Vor%
    
Uwe 27.11.2017 15:22
quelle

Tags und Links