ID= c('A', 'A', 'A', 'B', 'B', 'B')
color=c('white', 'green', 'orange', 'white', 'green', 'green')
d = data.frame (ID, color)
Mein gewünschtes Ergebnis istWie kann die Anzahl der eindeutigen Werte pro Gruppe gezählt werden?
unique_colors=c(3,3,3,2,2,2)
d = data.frame (ID, color, unique_colors)
oder mehr klar in einem neuen Datenrahmen c
ID= c('A','B')
unique_colors=c(3,2)
c = data.frame (ID,unique_colors)
ich verschiedene Kombinationen von aggregate
und ave
sowie by
und with
habe versucht, und ich nehme an es ist eine Kombination dieser Funktionen.
würde die Lösung umfassen:
length(unique(d$color))
die Anzahl der eindeutigen Elemente zu berechnen.
Siehe auch [** hier **] (http://stackoverflow.com/questions/17421776/how-to-add-count-of-unique-values-by-group-to-r -data-frame/17421925 # 17421925), (etwas ähnlicher Titel auf dem Q ... hast du vor dem Posten gesucht?) für zusätzliche Möglichkeiten – Henrik
@Henrik eigentlich enthält die verknüpfte Antwort weder 'dplyr' noch (up to date)) 'data.table' Lösungen. Also denke ich, dass diese neuere Frage in gewisser Weise nützlich ist. –
@docendodiscimus deshalb habe ich * (up to date) 'data.table' Lösung * gesagt. Es enthält nicht die neue Funktion 'data.table :: uniqueN()'. Die 'data.table' Lösung ist im Grunde eine Basislösung. –