Zählen unique / distinct Werte von der Gruppe in einem data frame
Sagen wir, ich habe folgende Daten Rahmen:
> myvec
name order_no
1 Amy 12
2 Jack 14
3 Jack 16
4 Dave 11
5 Amy 12
6 Jack 16
7 Tom 19
8 Larry 22
9 Tom 19
10 Dave 11
11 Jack 17
12 Tom 20
13 Amy 23
14 Jack 16
Möchte ich die Anzahl der unterschiedlichen order_no
Werte für die einzelnen name
. Es sollte Folgendes Ergebnis:
name number_of_distinct_orders
Amy 2
Jack 3
Dave 1
Tom 2
Larry 1
Wie kann ich das tun?
InformationsquelleAutor der Frage Mehper C. Palavuzlar | 2012-10-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies sollte den trick tun:
Erfordert dieses Paket plyr.
InformationsquelleAutor der Antwort mpiktas
Einen
data.table
Ansatzdata.table
v >= 1.9.5 hat einen eingebautenuniqueN
Funktion jetztInformationsquelleAutor der Antwort mnel
Dies ist eine einfache Lösung mit der Funktion
aggregate
:InformationsquelleAutor der Antwort Sven Hohenstein
In
dplyr
Sie verwenden könnenn_distinct
"zählen der Anzahl von eindeutigen Werten":InformationsquelleAutor der Antwort Henrik
Hier ist ein benchmark von @David Arenburg Lösung dort sowie ein Rückblick auf einige der Lösungen hier gepostet (@mnel@Sven Hohenstein@Henrik):
Ergebnisse:
Handlung:
Session info:
InformationsquelleAutor der Antwort Aurèle
Können Sie einfach die eingebaute R-Funktionen
tapply
mitlength
InformationsquelleAutor der Antwort Jeffrey Evans
Hier ist eine Lösung mit
sqldf
InformationsquelleAutor der Antwort jogo
Diese würde auch funktionieren, aber ist weniger eloquent als die plyr Lösung:
InformationsquelleAutor der Antwort Tyler Rinker
InformationsquelleAutor der Antwort mattbawn
Mithilfe
table
:InformationsquelleAutor der Antwort Moody_Mudskipper