Cara mereplikasi baris dalam bingkai data di r
Anda dapat menggunakan metode berikut untuk mereplikasi baris dalam bingkai data di R menggunakan fungsi dalam paket dplyr :
Metode 1: Replikasi setiap baris dengan jumlah yang sama
library (dplyr) #replicate each row 3 times df %>% slice(rep(1:n(), each = 3))
Metode 2: Replikasi setiap baris beberapa kali berbeda
library (dplyr) #replicate the first row 3 times and the second row 5 times df %>% slice(rep(1:n(), times = c(3, 5)))
Contoh berikut menunjukkan cara menggunakan masing-masing metode dalam praktik.
Contoh 1: Replikasi setiap baris dengan jumlah yang sama
Misalkan kita memiliki bingkai data berikut dengan dua baris di 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
Kita dapat menggunakan sintaks berikut untuk mengulang setiap baris bingkai data tiga kali:
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
Perhatikan bahwa setiap baris dalam bingkai data asli telah diulang tiga kali.
Contoh 2: Replikasi setiap baris beberapa kali berbeda
Misalkan kita memiliki bingkai data berikut dengan dua baris di 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
Kita dapat menggunakan sintaks berikut untuk mengulang baris pertama tiga kali dan baris kedua lima kali:
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
Perhatikan bahwa baris pertama dari bingkai data asli diulang tiga kali dan baris kedua diulang lima kali.
Terkait: Cara menggunakan fungsi slice() di dplyr
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di dplyr:
Cara memilih kolom berdasarkan indeks menggunakan dplyr
Cara memilih baris pertama berdasarkan grup menggunakan dplyr
Cara memfilter berdasarkan beberapa kondisi menggunakan dplyr
Cara memfilter baris yang berisi string tertentu menggunakan dplyr