Schnell Beispiel der Zusammenfassung:effiziente Weise mehrere Male mit dplyr
set.seed(123)
library("dplyr")
df <- data_frame(client=sample(letters, 200, replace=T),
content=sample(LETTERS, 200, replace=T))
Ich habe Beobachtungen von Client mit Inhalten interagieren. Ich möchte wissen, wie viele verschiedene Inhalte von jedem Kunden verwendet wurden.
ich folgendes zu bekommen, was ich will:
df %>%
group_by(client, content) %>%
summarize(n=n()) %>%
summarize(n_content=n())
# output
client n_content
(chr) (int)
1 a 3
2 b 4
3 c 5
.. ... ...
Der springende Punkt der ersten summarize
ist nur eine Zeile pro Client/content Kombination zu erhalten (da ein Client den gleichen Inhalt mehrmals verwenden). Daher ist die Ausgabe der ersten n()
nutzlos für mich, was mich denken lässt, dass es eine effizientere/elegantere Lösung geben muss.
Gibt es eine Möglichkeit, dies effizienter zu tun? Ich suche eine Lösung, die ideal mit dplyr kompatibel ist, aber Base R oder andere Pakete sind in Ordnung. Ich bin nicht an Lösungen interessiert, die data.table
verwenden.