In R: Jede Zeile eines data.frame so oft wiederholen, wie in einer Spalte angegeben.

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.