Video: 4.2: Nested Loops - p5.js Tutorial 2024
Bila menggunakan R, terkadang Anda memerlukan fungsi Anda untuk melakukan sesuatu jika kondisi benar dan ada yang lain jika Tidak, Anda bisa melakukan ini dengan dua jika pernyataan, tapi ada cara yang lebih mudah dalam R: sebuah if … else statement. Pernyataan if … else berisi elemen yang sama seperti pernyataan if (lihat bagian sebelumnya), dan beberapa tambahan:
-
Kata kunci yang lain, ditempatkan setelah blok kode pertama
-
Blok kode kedua, yang terdapat di dalam kawat gigi, yang harus dilakukan jika dan hanya jika hasil dari Kondisi dalam pernyataan if () FALSE
Di beberapa negara, jumlah pajak pertambahan nilai (PPN) yang harus dibayar tergantung pada apakah klien tersebut adalah organisasi publik atau swasta. Bayangkan bahwa organisasi publik harus membayar hanya 6 persen PPN dan organisasi swasta harus membayar PPN 12 persen. Anda dapat menambahkan argumen ekstra kepada umumCalculator () func dan mengadopsinya sebagai berikut untuk menambahkan jumlah PPN yang benar:
jika (jam> 100) bersih. harga <- bersih. harga * 0. 9 jika (publik) {tot. harga <- bersih. harga * 1. 06} lain {tot. harga <- bersih. harga * 1. 12} round (tot. price)}
Jika Anda mengirim kode ini ke konsol, Anda dapat menguji fungsinya. Misalnya, jika Anda bekerja selama 25 jam, kode berikut memberi Anda jumlah berbeda yang Anda bayar untuk organisasi publik dan swasta; >> priceCalculator (25, public = TRUE) [1] 1060> priceCalculator (25, publik = FALSE) [1] 1120
Ini bekerja dengan baik, tapi bagaimana cara kerjanya?
Pernyataan if membutuhkan nilai logis antara tanda kurung. Setiap ekspresi yang Anda masukkan di antara tanda kurung dievaluasi sebelum diteruskan ke pernyataan if. Jadi, jika Anda bekerja dengan nilai logis secara langsung, Anda tidak perlu menentukan ekspresi sama sekali. Menggunakan, misalnya, jika (public == TRUE) berlebihan.
jika (publik) tot. harga <- bersih. harga * 1. 06 tot lainnya harga <- bersih. harga * 1. 12
Menempatkan pernyataan lain di akhir baris dan bukan awal yang berikutnya adalah ide bagus.
Secara umum, R membaca banyak baris sebagai satu baris selama ini benar-benar jelas bahwa perintah belum selesai. Jika Anda menempatkan yang lain di awal baris kedua, R menganggap baris pertama selesai dan mengeluh. Anda bisa meletakkan yang lain di awal baris berikutnya hanya jika Anda melakukannya dalam sebuah fungsi dan Anda memberi source file lengkap sekaligus kepada R. Tapi Anda bisa membuatnya lebih pendek. Pernyataan if bekerja seperti fungsi dan, karenanya, juga mengembalikan nilai. Akibatnya, Anda dapat menetapkan nilai itu ke objek atau menggunakannya dalam perhitungan. Jadi, bukannya menghitung ulang bersih. harga dan menugaskan hasilnya ke tot. harga di dalam blok kode, Anda bisa menggunakan pernyataan if … else seperti ini:
R pertama akan mengevaluasi pernyataan if … else, dan kalikan hasilnya dengan net. harga. Hasil ini kemudian ditugaskan ke tot. harga. Ini tidak berbeda dengan hasil dari lima baris kode yang kami gunakan untuk pernyataan asli jika … else.