Jak replikować wiersze w ramce danych w r
Do replikowania wierszy w ramce danych w R przy użyciu funkcji z pakietu dplyr można użyć następujących metod:
Metoda 1: Powtórz każdą linię tę samą liczbę razy
library (dplyr) #replicate each row 3 times df %>% slice(rep(1:n(), each = 3))
Metoda 2: Powtórz każdą linię inną liczbę razy
library (dplyr) #replicate the first row 3 times and the second row 5 times df %>% slice(rep(1:n(), times = c(3, 5)))
Poniższe przykłady pokazują, jak zastosować każdą metodę w praktyce.
Przykład 1: Powtórz każdą linię tę samą liczbę razy
Załóżmy, że mamy następującą ramkę danych z dwoma wierszami w 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
Możemy użyć następującej składni, aby trzykrotnie powtórzyć każdy wiersz ramki danych:
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
Należy zauważyć, że każda linia oryginalnej ramki danych została powtórzona trzykrotnie.
Przykład 2: Powtórz każdą linię inną liczbę razy
Załóżmy, że mamy następującą ramkę danych z dwoma wierszami w 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
Możemy użyć następującej składni, aby powtórzyć pierwszą linię trzy razy, a drugą pięć razy:
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
Należy zauważyć, że pierwsza linia oryginalnej ramki danych została powtórzona trzy razy, a druga linia pięć razy.
Powiązane: Jak używać funkcji plasterek() w dplyr
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w dplyr:
Jak wybrać kolumny według indeksu za pomocą dplyr
Jak wybrać pierwszy wiersz według grupy za pomocą dplyr
Jak filtrować według wielu warunków za pomocą dplyr
Jak filtrować wiersze zawierające określony ciąg za pomocą dplyr