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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *