Rumah Keuangan Pribadi Bagaimana Merantai Jika ... Else Statements in R - dummies

Bagaimana Merantai Jika ... Else Statements in R - dummies

Video: Rainbow Loom! DIY 5 Easy Rainbow Loom Bracelets without a Loom (DIY Loom Bands) 2024

Video: Rainbow Loom! DIY 5 Easy Rainbow Loom Bracelets without a Loom (DIY Loom Bands) 2024
Anonim

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

Pilihan Editor

Warna Profil Printer dan Elemen Photoshop 10 - dummies

Warna Profil Printer dan Elemen Photoshop 10 - dummies

Kaki terakhir dalam alur kerja yang diatur warna dalam Photoshop Elements 10 adalah mengubah warna dari profil ruang warna Anda ke profil warna printer Anda. Pada dasarnya, konversi ini berarti bahwa warna yang Anda lihat di monitor Anda di ruang kerja Anda saat ini secara akurat dikonversi ke warna yang dapat diproduksi ulang oleh printer Anda. Untuk ...

Umum Photoshop Elements 10 Atribut Pengaturan untuk Sharing - dummies

Umum Photoshop Elements 10 Atribut Pengaturan untuk Sharing - dummies

Panel Buat dan Bagikan di Photoshop Elements 10 adalah tersedia dalam mode Edit Foto Penuh dan Penyelenggara. Pilihan yang tersedia untuk Anda di panel hampir identik di setiap ruang editing. Beberapa perbedaan ada di opsi Buat dan Berbagi yang tersedia di Windows dan Macintosh. Slide show dan flipbook tidak ...

Pilihan Editor

Menambahkan dan Mengedit Item Dikembangkan untuk Android TV - dummies

Menambahkan dan Mengedit Item Dikembangkan untuk Android TV - dummies

TV android tidak benar-benar dirancang untuk memasukkan data Tidak ada keyboard pada kebanyakan perangkat, dan meskipun ada keyboard layar virtual, menggunakannya dengan remote control TV standar bisa menjadi rasa sakit yang nyata. Oleh karena itu, BrowseFragment tidak benar-benar memiliki built-in cara untuk menambahkan item ke database. Tapi tanpa cara ...

10 Alat untuk Menyederhanakan Pengembangan Hidup Anda - dummies

10 Alat untuk Menyederhanakan Pengembangan Hidup Anda - dummies

Berikut adalah sepuluh alat dan utilitas yang dapat mempermudah kehidupan pengembangan Anda dengan meningkatkan produktivitas Anda dan memastikan aplikasi Anda terhapus. Android lint http: // developer. android. com / tools / help / lint. html Jika Anda telah melakukan pengembangan non-Android lainnya, mungkin Anda sudah familiar dengan konsep alat serat, yang membantu Anda menemukan "serat" yang mengumpulkan sekitar kode Anda. ...

Pilihan Editor

Administrasi jaringan: Tugas rutin - dummies

Administrasi jaringan: Tugas rutin - dummies

Sebagian besar pekerjaan administrator jaringan adalah barang rutin - pekerjaan, setara dengan menyedot debu , membersihkan debu, dan mengepel. Atau jika Anda lebih suka, ganti oli dan putar ban setiap 3.000 mil. Ya, itu membosankan, tapi itu harus dilakukan. Berikut adalah ringkasan tugas rutin administrasi jaringan. Backup: Jaringan ...

Administrasi Jaringan: Perintah RunAs Command - dummies

Administrasi Jaringan: Perintah RunAs Command - dummies

Perintah RunAs sangat berguna dalam mengelola jaringan Windows Server 2008. Perintah RunAs memungkinkan Anda menjalankan program dari command prompt menggunakan kredensial akun pengguna lain. Berikut adalah sintaks dasarnya: runas / user: username [parameter lain] program Misalnya, untuk menjalankan Konsol Manajemen Microsoft dengan akun administrator dom1 domain, ...

Administrasi jaringan: Samba Client - dummies

Administrasi jaringan: Samba Client - dummies

Samba menyertakan sebuah program yang disebut smbclient yang memungkinkan Anda mengakses server file Windows dari Linux komputer. Program smbclient bekerja seperti klien FTP, jadi jika Anda telah menggunakan FTP sebelumnya, Anda tidak akan kesulitan untuk memahami cara kerjanya. Smbclient adalah alat baris perintah, jadi Anda perlu masuk ke virtual ...