Як копіювати рядки у кадрі даних у r
Ви можете використовувати наступні методи для реплікації рядків у кадрі даних у R за допомогою функцій у пакеті dplyr :
Спосіб 1: повторіть кожен рядок однакову кількість разів
library (dplyr) #replicate each row 3 times df %>% slice(rep(1:n(), each = 3))
Спосіб 2: Повторіть кожен рядок різну кількість разів
library (dplyr) #replicate the first row 3 times and the second row 5 times df %>% slice(rep(1:n(), times = c(3, 5)))
Наступні приклади показують, як використовувати кожен метод на практиці.
Приклад 1: повторіть кожен рядок однакову кількість разів
Припустимо, ми маємо наступний кадр даних із двома рядками в 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
Ми можемо використовувати такий синтаксис, щоб тричі повторити кожен рядок кадру даних:
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
Зауважте, що кожен із рядків у вихідному кадрі даних повторювався тричі.
Приклад 2: повторіть кожен рядок різну кількість разів
Припустимо, ми маємо наступний кадр даних із двома рядками в 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
Ми можемо використати наступний синтаксис, щоб повторити перший рядок три рази та другий рядок п’ять разів:
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
Зауважте, що перший рядок вихідного кадру даних повторювався тричі, а другий рядок – п’ять разів.
Пов’язане: як використовувати функцію slice() у dplyr
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові операції в dplyr:
Як вибрати стовпці за індексом за допомогою dplyr
Як вибрати перший рядок групою за допомогою dplyr
Як фільтрувати за кількома умовами за допомогою dplyr
Як фільтрувати рядки, що містять певний рядок, за допомогою dplyr