Ich bin neu auf R und ich habe eine Daten.frame, genannt "CT", enthält eine Spalte namens "ID" mit mehreren hundert verschiedenen Identifikationsnummern (das sind Patienten). Die meisten Zahlen erscheinen einmal, aber einige andere erscheinen zwei oder drei Mal (daher in verschiedenen Reihen). Im CT data.frame möchte ich eine neue Variable namens "countID" einfügen, die die Anzahl der Vorkommen dieser spezifischen Patienten angibt (mehrere Datensätze sollten noch mehrmals erscheinen). Ich habe versucht, zwei verschiedene Strategien nach dem Lesen dieses Forum: 1. Strategie:Zählen Vorkommen in Spalte und erstellen Variable in R
CT <- cbind(CT, countID=sequence(rle(CT.long$ID)$lengths)
Aber das funktioniert nicht, bekomme ich nur einen Zähler. zweite Strategie: einen Datenrahmen mit zwei Spalten erstellen (eine ID ist, ist eine Zählung) und das Spiel dieses Datenrahmen mit CT:
tabs <- table(CT.long$ID)
out <- data.frame(item=names(unlist(tabs)),count=unlist(tabs)[],stringsAsFactors=FALSE)
rownames(out) = c()
head(out)
# item count
# 1 1.312 1
# 2 1.313 2
# 3 1.316 1
# 4 1.317 1
# 5 1.321 1
# 6 1.322 1
Also das funktioniert gut, aber ich kann die beiden data.frames schmelzen: die Anzahl der Zeilen stimmt nicht zwischen "out" und "CT" überein (out hat natürlich weniger Zeilen). Vielleicht hat jemand eine elegante Lösung, um die Anzahl der Vorkommen direkt in der data.frame CT hinzuzufügen, oder die beiden data.frames korrekt zu vergleichen? Vielen Dank im Voraus, Denis
+1 für für die Ansicht Eingang und erwarteten Ausgang, aber das nächste Zeit, die Sie posten, machen Sie Ihr Beispiel [** reproduzierbar **] (http://stackoverflow.com/q/5963269/1478381), indem Sie einige Daten einschließen. Willkommen in SO! –