Rijen repliceren in een dataframe in r
U kunt de volgende methoden gebruiken om rijen in een dataframe in R te repliceren met behulp van functies in het dplyr- pakket:
Methode 1: Repliceer elke regel evenveel keer
library (dplyr) #replicate each row 3 times df %>% slice(rep(1:n(), each = 3))
Methode 2: Repliceer elke regel een ander aantal keren
library (dplyr) #replicate the first row 3 times and the second row 5 times df %>% slice(rep(1:n(), times = c(3, 5)))
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.
Voorbeeld 1: Repliceer elke regel evenveel keer
Stel dat we het volgende dataframe hebben met twee rijen 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
We kunnen de volgende syntaxis gebruiken om elke regel van het dataframe drie keer te herhalen:
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
Merk op dat elk van de lijnen in het originele dataframe drie keer is herhaald.
Voorbeeld 2: Repliceer elke regel een ander aantal keren
Stel dat we het volgende dataframe hebben met twee rijen 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
We kunnen de volgende syntaxis gebruiken om de eerste regel drie keer en de tweede regel vijf keer te herhalen:
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
Merk op dat de eerste regel van het oorspronkelijke dataframe drie keer werd herhaald en de tweede regel vijf keer.
Gerelateerd: Hoe de slice()-functie in dplyr te gebruiken
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in dplyr uitvoert:
Kolommen selecteren op index met behulp van dplyr
Hoe u de eerste rij per groep selecteert met dplyr
Hoe u op meerdere voorwaarden kunt filteren met behulp van dplyr
Hoe u rijen kunt filteren die een bepaalde tekenreeks bevatten met behulp van dplyr