Video: Rainbow Loom! DIY 5 Easy Rainbow Loom Bracelets without a Loom (DIY Loom Bands) 2024
Dalam beberapa kasus, Anda perlu membuat banyak pilihan di R. Jika dan jika … pernyataan lain meninggalkan Anda dengan tepat dua pilihan, namun hidup ini jarang sesederhana itu. Bayangkan Anda memiliki beberapa klien di luar negeri.
Anggaplah bahwa setiap klien di luar negeri tidak perlu membayar PPN untuk kepentingan contoh tersebut. Ini membuat Anda sekarang dengan tiga tingkat PPN berbeda: 12 persen untuk klien pribadi, 6 persen untuk klien publik, dan tidak ada untuk klien asing.
Cara yang paling intuitif untuk memecahkan masalah ini adalah hanya untuk merantai pilihannya. Jika klien tinggal di luar negeri, jangan mengenakan biaya PPN. Jika tidak, periksa apakah klien itu publik atau pribadi dan menerapkan tarif PPN yang relevan.
Jika Anda mendefinisikan sebuah argumen klien untuk fungsi Anda yang dapat mengambil nilai 'di luar negeri', 'publik', dan 'pribadi', Anda dapat memberi kode pada algoritma sebelumnya seperti ini:
if (client == 'private') {tot. harga <- bersih. harga * 1. 12 # 12% PPN} lain {if (client == 'public') {tot. harga <- bersih. harga * 1. 06 # 6% PPN} lain {tot. harga <- bersih. harga * 1 # 0% PPN}}
Dengan kode ini, Anda menyarangkan pernyataan kedua jika … else dalam pernyataan pertama jika … else. Itu bisa diterima dan bisa berhasil, tapi bayangkan apa yang harus Anda lakukan jika Anda memiliki empat atau lebih kemungkinan. Pernyataan bersarang di sebuah pernyataan dalam sebuah pernyataan dalam sebuah pernyataan dengan cepat menciptakan satu kekacauan keriting besar.
Untungnya, R memungkinkan Anda untuk menulis semua kode itu sedikit lebih jelas. Anda bisa mengelompokkan pernyataan if … else sebagai berikut:
if (client == 'private') {tot. harga <- bersih. harga * 1. 12} else if (client == 'public') {tot. harga <- bersih. harga * 1. 06} lain {tot. harga <- bersih. harga}
Dalam contoh ini, chaining membuat perbedaan hanya dua kawat gigi, tapi bila Anda memiliki lebih banyak kemungkinan, itu membuat kode dapat dibaca. Perhatikan, bahwa Anda tidak perlu menguji apakah argumen klien sama dengan 'luar negeri' (walaupun tidak salah melakukan itu). Anda hanya berasumsi bahwa jika klien tidak memiliki salah satu dari dua nilai lainnya, itu harus 'di luar negeri'.
Dirantai jika … laporan lain bekerja pada satu nilai sekaligus. Anda tidak dapat menggunakan pernyataan dirantai jika … else dalam cara yang vectorized. Untuk itu, Anda bisa menyarangkan beberapa pernyataan ifelse, seperti ini:
VAT <- ifelse (client == 'private', 1. 12, ifelse (client == 'public', 1. 06, 1)) tot. harga <- bersih. harga * PPN
Potongan kode ini bisa menjadi sangat membingungkan jika Anda memiliki lebih dari tiga pilihan. Solusi untuk ini adalah beralih.
![Bagaimana Merantai Jika ... Else Statements in R - dummies Bagaimana Merantai Jika ... Else Statements in R - dummies](https://i.howtospotfake.org/img/big/id-programming-2018/how-to-chain-if-else-statements-in-r.jpg)