Cara menggunakan operator pipa di r (dengan contoh)
Anda dapat menggunakan operator pipa ( %>% ) di R untuk “menyalurkan” serangkaian operasi secara bersamaan.
Operator ini paling sering digunakan dengan paket dplyr di R untuk melakukan urutan operasi pada bingkai data.
Sintaks dasar operator pipa adalah:
df %>%
do_this_operation %>%
then_do_this_operation %>%
then_do_this_operation ...
Operator pipa cukup meneruskan hasil operasi yang satu ke operasi berikutnya di bawahnya.
Keuntungan menggunakan operator pipa adalah membuat kode menjadi sangat mudah dibaca.
Contoh berikut menunjukkan cara menggunakan operator pipa dalam skenario berbeda dengan himpunan data mtcars yang dibangun di R.
#view first six rows of mtcars dataset
head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1
Contoh 1: Gunakan Operator Pipa untuk Meringkas Variabel
Kode berikut menunjukkan cara menggunakan operator pipa ( %>% ) untuk mengelompokkan berdasarkan variabel cyl dan kemudian merangkum nilai rata-rata variabel mpg :
library (dplyr)
#summarize mean mpg grouped by cyl
mtcars %>%
group_by(cyl) %>%
summarize(mean_mpg = mean(mpg))
# A tibble: 3 x 2
cyl mean_mpg
1 4 26.7
2 6 19.7
3 8 15.1
Dari hasilnya kita dapat melihat:
- Nilai rata-rata mpg untuk mobil dengan nilai silinder 4 adalah 26,7 .
- Nilai rata-rata mpg untuk mobil dengan nilai silinder 6 adalah 19,7 .
- Nilai rata-rata mpg untuk mobil dengan nilai silinder 8 adalah 15,1 .
Perhatikan bagaimana operator pipa juga mempermudah penafsiran kode.
Pada dasarnya, dia berkata:
- Ambil bingkai data mtcars .
- Kelompokkan berdasarkan variabel cyl .
- Kemudian rangkum nilai rata-rata variabel mpg .
Contoh 2: Gunakan Operator Pipa untuk Mengelompokkan dan Meringkas Beberapa Variabel
Kode berikut menunjukkan cara menggunakan operator pipa ( %>% ) untuk mengelompokkan berdasarkan variabel cyl dan am , lalu merangkum rata-rata variabel mpg dan simpangan baku variabel hp :
library (dplyr)
#summarize mean mpg and standard dev of hp grouped by cyl and am
mtcars %>%
group_by(cyl, am) %>%
summarize(mean_mpg = mean(mpg),
sd_hp = sd(hp))
# A tibble: 6 x 4
# Groups: cyl[3]
cyl am mean_mpg sd_hp
1 4 0 22.9 19.7
2 4 1 28.1 22.7
3 6 0 19.1 9.18
4 6 1 20.6 37.5
5 8 0 15.0 33.4
6 8 1 15.4 50.2
Dari hasilnya kita dapat melihat:
- Untuk mobil dengan nilai cyl 4 dan nilai am 0, rata-rata nilai mpg adalah 22.9 dan standar deviasi nilai hp adalah 19.7 .
- Untuk mobil dengan nilai cyl 4 dan nilai am 1, rata-rata nilai mpg adalah 28.1 dan standar deviasi nilai hp adalah 22.7 .
Dan seterusnya.
Sekali lagi, perhatikan bagaimana operator pipa juga membuat interpretasi kode menjadi lebih mudah.
Pada dasarnya, dia berkata:
- Ambil bingkai data mtcars .
- Kelompokkan berdasarkan variabel cyl dan am .
- Kemudian rangkum nilai mean variabel mpg dan simpangan baku variabel hp .
Contoh 3: Gunakan Operator Pipa untuk Membuat Variabel Baru
Kode berikut menunjukkan cara menggunakan operator pipa ( %>% ) dengan fungsi mutate dalam paket dplyr untuk membuat dua variabel baru dalam bingkai data mtcars:
library (dplyr)
#add two new variables in mtcars
new_mtcars <- mtcars %>%
mutate(mpg2 = mpg*2,
mpg_root = sqrt(mpg))
#view first six rows of new data frame
head(new_mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb mpg2 mpg_root
1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 42.0 4.582576
2 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 42.0 4.582576
3 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 45.6 4.774935
4 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 42.8 4.626013
5 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 37.4 4.324350
6 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 36.2 4.254409
Dari hasilnya kita dapat melihat:
- Kolom mpg2 baru berisi nilai dari kolom mpg dikalikan 2.
- Kolom mpg_root baru berisi akar kuadrat dari nilai di kolom mpg .
Sekali lagi, perhatikan bagaimana operator pipa juga membuat interpretasi kode menjadi lebih mudah.
Pada dasarnya, dia berkata:
- Ambil bingkai data mtcars .
- Buat kolom baru bernama mpg2 dan kolom baru bernama mpg_root .
Terkait: Cara menggunakan fungsi transmute() di dplyr
Sumber daya tambahan
Tutorial berikut menjelaskan cara menggunakan fungsi umum lainnya di R:
Cara menggunakan operator Tilde (~) di R
Cara menggunakan operator tanda dolar ($) di R
Cara menggunakan operator “NOT IN” di R
Cara menggunakan operator %in% di R