{count, plural, one {Kursus} other {Kursus}}

Fungsi 'ifelse()' adalah bentuk alternatif dan singkat dari pernyataan if-else di R. Selain itu, fungsi ini menggunakan teknik 'tervektorisasi' (vectorized) yang membuat operasi menjadi lebih cepat. Semua nilai vektor diambil sebagai argumen sekaligus, bukan mengambil nilai satu per satu berulang kali.
Sintaks
Sintaks fungsi 'ifelse()' di R adalah:
ifelse(logical_expression, a , b)
Argumen pada 'ifelse' di atas menyatakan bahwa:
1.logical_expression: Menunjukkan vektor masukan, yang pada gilirannya akan mengembalikan vektor dengan ukuran yang sama sebagai keluaran.
2. a: Dieksekusi ketika logical_expression bernilai TRUE.
3. b: Dieksekusi ketika logical_expression bernilai FALSE.
Contoh (Ganjil atau Genap)
Mari cepat lihat contoh di bawah ini, di mana kode berikut akan memeriksa apakah angka ganjil atau genap. 'v' adalah vektor yang berisi daftar angka. Dalam fungsi 'ifelse', ekspresi 'v%%2==1' memeriksa sisa pembagian setiap angka dalam 'v' sama dengan satu dan apabila TRUE akan mencetak "odd", sebaliknya jika FALSE akan mencetak "even".
v = c(14,7,6,9,2)
ifelse(v %% 2 == 1,"odd","even")
- 'even'
- 'odd'
- 'even'
- 'odd'
- 'even'
Kode di atas menghasilkan keluaran sebagai:
'even' 'odd' 'even' 'odd' 'even'
Cara kerja internal kode di atas menghasilkan vektor logis c(FALSE,TRUE,FALSE,TRUE,FALSE). Parameter pertama akan membentuk vektor string c("odd","odd","odd","odd","odd") dan parameter kedua pada gilirannya akan menghasilkan vektor string c("even',"even","even","even","even"). Terakhir, ketika elemen vektor individual bernilai TRUE akan berubah menjadi 'odd' sedangkan 'FALSE' akan berubah menjadi 'even'.
Contoh (Lulus atau Tidak Lulus)
Contoh di bawah ini menunjukkan penggunaan fungsi 'ifelse()' bersama dengan penggunaan DataFrame. Jika Siswa memperoleh nilai di atas 40, maka ia dianggap 'Pass' (Lulus) jika tidak maka dianggap 'Fail' (Tidak Lulus) dalam ujian.
Mari cepat buat sebuah Data Frame dengan kolom nama siswa sebagai kolom "Student" dengan vektor masukan berisi ("Ron", "Jake", "Ava", "Sophia", "Mia"). Kolom lainnya adalah "Marks", yang berisi vektor masukan dengan nilai (35,75,45,30,85). Terakhir, kedua kolom digabungkan untuk membentuk data frame dan disimpan ke 'x'.
x <- data.frame("Student" = c("Ron","Jake","Ava","Sophia","Mia"),"Marks" = c(35,75,45,30,85))
str(x)
'data.frame': 5 obs. of 2 variables:
$ Student: Factor w/ 5 levels "Ava","Jake","Mia",..: 4 2 1 5 3
$ Marks : num 35 75 45 30 85
'data.frame': 5 obs. of 2 variables:
$ Student: Factor w/ 5 levels "Ava","Jake","Mia",..: 4 2 1 5 3
$ Marks : num 35 75 45 30 85
Kode di atas menampilkan struktur sebuah Data Frame menggunakan 'str(x)' yang menunjukkan terdapat 5 observasi dengan 2 variabel dengan nilai masing-masing untuk Student dan Marks yang dicetak.
x$Result = ifelse(x$"Marks">40,"Pass","Fail")
print(x)
Kode di atas memberikan keluaran sebagai berikut:
Student Marks Result
1 Ron 35 Fail
2 Jake 75 Pass
3 Ava 45 Pass
4 Sophia 30 Fail
5 Mia 85 Pass
Pada kode di atas, 'x$Result' sebagai variabel digunakan untuk menambahkan kolom baru 'Result' dalam sebuah Data Frame. Fungsi 'ifelse()' memiliki ekspresi 'x$"Marks">40', yang memeriksa nilai vektor dari Marks dan menentukan 'Result' menjadi 'Pass' ketika Marks lebih besar dari 40, jika tidak maka 'Result' adalah 'Fail'.
Selamat
Selamat, Anda telah sampai di akhir tutorial ini!
Anda telah mempelajari fungsi ifelse() di R beserta sintaksnya, cara membantunya menentukan apakah sebuah angka Ganjil atau Genap, dan akhirnya melalui contohnya untuk melihat apakah seorang siswa Lulus atau Tidak Lulus dalam ujian.
Jika Anda ingin mempelajari lebih lanjut tentang R, Anda dapat menemukan semua sumber daya R kami di sini.
Lihat tutorial kami Menggunakan Functions di R.
