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 C
Hier 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.