Der Datensatz enthält drei Variablen: ID, Geschlecht und Grad (Faktor).Häufigkeit der Zeilen nach ID
mydata <- data.frame(id=c(1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4), sex=c(1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1),
grade=c("a","b","c","d","e", "x","y","y","x", "q","q","q","q", "a", "a", "a", NA, "b"))
Für jede ID, muss ich sehen, wie viele einzigartige Qualitäten wir haben, und dann eine neue Spalte (Aufruf N) schaffen die Klasse Frequenz aufzuzeichnen. Zum Beispiel haben wir für ID = 1 fünf eindeutige Werte für "Note", also N = 4; Für ID = 2 haben wir zwei eindeutige Werte für "Grade", also N = 2; für ID = 4 haben wir zwei eindeutige Werte für "Klasse" (ignorieren NA), so N = 2.
Der letzte Datensatz ist
mydata <- data.frame(id=c(1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,4), sex=c(1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1),
grade=c("a","b","c","d","e", "x","y","y","x", "q","q","q","q", "a", "a", "a", NA, "b"))
mydata$N <- c(5,5,5,5,5,2,2,2,2,1,1,1,1,2,2,2,2,2)
eine verschachtelte 'for'-Schleife für jede eindeutige Note. – giraffehere
For-Schleifen sind nicht die Antwort in R. Es sei denn, sie sind (was hier nicht der Fall ist). – Heroka
Ich fragte mich auch, ob es möglich wäre, das * dplyr * zu verwenden und Zählungen für eindeutige Gruppen zu liefern. – Konrad