So replizieren sie zeilen in einem datenrahmen in r


Sie können die folgenden Methoden verwenden, um Zeilen in einem Datenrahmen in R mithilfe von Funktionen im dplyr- Paket zu replizieren:

Methode 1: Wiederholen Sie jede Zeile gleich oft

 library (dplyr)

#replicate each row 3 times
df %>% slice(rep(1:n(), each = 3))

Methode 2: Replizieren Sie jede Zeile unterschiedlich oft

 library (dplyr)

#replicate the first row 3 times and the second row 5 times
df %>% slice(rep(1:n(), times = c(3, 5)))

Die folgenden Beispiele zeigen, wie die einzelnen Methoden in der Praxis angewendet werden.

Beispiel 1: Replizieren Sie jede Zeile gleich oft

Angenommen, wir haben den folgenden Datenrahmen mit zwei Zeilen in R:

 #create data frame
df <- data. frame (team=c('A', 'B'),
                 dots=c(10, 15),
                 rebounds=c(4, 8),
                 assists=c(2, 5))

#view data frame
df

  team points rebound assists
1 to 10 4 2
2 B 15 8 5

Wir können die folgende Syntax verwenden, um jede Zeile des Datenrahmens dreimal zu wiederholen:

 library (dplyr)

#create new data frame that repeats each row in original data frame 3 times
new_df <- df %>% slice(rep(1:n(), each = 3))

#view new data frame
new_df

  team points rebound assists
1 to 10 4 2
2 to 10 4 2
3 to 10 4 2
4 B 15 8 5
5 B 15 8 5
6 B 15 8 5

Beachten Sie, dass jede Zeile im ursprünglichen Datenrahmen dreimal wiederholt wurde.

Beispiel 2: Replizieren Sie jede Zeile unterschiedlich oft

Angenommen, wir haben den folgenden Datenrahmen mit zwei Zeilen in R:

 #create data frame
df <- data. frame (team=c('A', 'B'),
                 dots=c(10, 15),
                 rebounds=c(4, 8),
                 assists=c(2, 5))

#view data frame
df

  team points rebound assists
1 to 10 4 2
2 B 15 8 5

Mit der folgenden Syntax können wir die erste Zeile dreimal und die zweite Zeile fünfmal wiederholen:

 library (dplyr)

#create new data frame that repeats first row 3 times and second row 5 times
new_df <- df %>% slice(rep(1:n(), times = c(3, 5)))

#view new data frame
new_df

  team points rebound assists
1 to 10 4 2
2 to 10 4 2
3 to 10 4 2
4 B 15 8 5
5 B 15 8 5
6 B 15 8 5
7 B 15 8 5
8 B 15 8 5

Beachten Sie, dass die erste Zeile des ursprünglichen Datenrahmens dreimal und die zweite Zeile fünfmal wiederholt wurde.

Verwandt: So verwenden Sie die Funktion „slice()“ in dplyr

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in dplyr ausführen:

So wählen Sie Spalten nach Index mit dplyr aus
So wählen Sie mit dplyr die erste Zeile nach Gruppe aus
So filtern Sie mit dplyr nach mehreren Bedingungen
So filtern Sie Zeilen, die eine bestimmte Zeichenfolge enthalten, mit dplyr

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert