Sie möchten also in R jeden Zeileneintrag eines data.frame so oft wiederholen, wie es in einer bestimmten Spalte angegeben ist. Hier ist ein einfaches Beispiel, wie Sie dies erreichen können:
Angenommen, Sie haben den folgenden data.frame:
daten <- data.frame(
ID = c(1, 2, 3),
Wert = c("A", "B", "C"),
Wiederholungen = c(3, 1, 2)
)Das Ziel ist es, jede Zeile entsprechend den Werten in der Spalte Wiederholungen zu wiederholen:
wiederholtes_daten <- daten[rep(1:nrow(daten), daten$Wiederholungen), 1:2]Das Resultat für wiederholtes_daten wäre:
ID Wert
1 1 A
1.1 1 A
1.2 1 A
2 2 B
3 3 C
3.1 3 CHier haben wir die Funktion rep() verwendet, um den Zeilenindex basierend auf den Wiederholungszahlen zu wiederholen. Beachten Sie, dass wir den Index 1:2 verwenden, um nur die Spalten ID und Wert im Ergebnis-data.frame zu behalten und die Spalte Wiederholungen zu entfernen. Wenn Ihr data.frame mehr Spalten hat und Sie alle behalten möchten, passen Sie den Index entsprechend an.