Rumah Kewangan Peribadi Bagaimana Rantaian Jika ... Penyataan lain dalam R - dummies

Bagaimana Rantaian Jika ... Penyataan lain dalam R - dummies

Video: Ujian Reformasi - Moeldoko: Tepuk Tangan untuk Mahasiswa (Part 2) | Mata Najwa 2024

Video: Ujian Reformasi - Moeldoko: Tepuk Tangan untuk Mahasiswa (Part 2) | Mata Najwa 2024
Anonim

Dalam beberapa kes, anda perlu membuat pelbagai pilihan dalam R. Jika dan jika … kenyataan lain meninggalkan anda dengan tepat dua pilihan, tetapi kehidupan jarang semudah itu. Bayangkan anda mempunyai beberapa pelanggan di luar negara.

Katakanlah bahawa mana-mana pelanggan di luar negara tidak perlu membayar VAT demi contohnya. Ini meninggalkan anda sekarang dengan tiga kadar VAT yang berbeza: 12 peratus untuk pelanggan swasta, 6 peratus untuk pelanggan awam, dan tidak ada untuk pelanggan asing.

Cara yang paling intuitif untuk menyelesaikan masalah ini adalah untuk mengikat pilihan. Sekiranya pelanggan tinggal di luar negara, jangan mengenakan sebarang VAT. Jika tidak, semak sama ada pelanggan itu awam atau swasta dan memohon kadar VAT yang berkaitan.

Jika anda menentukan klien argumen untuk fungsi anda yang boleh mengambil nilai-nilai 'luar negeri', 'awam', dan 'swasta', anda boleh mengodkan algoritma sebelumnya seperti ini:

if (client == 'private') {tot. harga <- bersih. harga * 1. 12 # 12% VAT} else {if (client == 'public') {tot. harga <- bersih. harga * 1. 06 # 6% VAT} else {tot. harga <- bersih. harga * 1 # 0% VAT}}

Dengan kod ini, anda sarang yang kedua jika … kenyataan lain dalam kenyataan pertama jika … lain. Itu boleh diterima dan ia akan berfungsi, tetapi bayangkan apa yang perlu anda lakukan jika anda mempunyai empat atau lebih kemungkinan. Sarang kenyataan di dalam kenyataan dalam satu kenyataan dalam satu kenyataan dengan cepat mewujudkan satu kekacauan kerinting besar.

Untungnya, R membolehkan anda menulis semua kod itu dengan lebih jelas. Anda boleh rantai jika … pernyataan lain seperti berikut:

jika (client == 'private') {tot. harga <- bersih. harga * 1. 12} else if (client == 'public') {tot. harga <- bersih. harga * 1. 06} else {tot. harga <- bersih. harga}

Dalam contoh ini, chaining membuat perbezaan hanya dua pendakap, tetapi apabila anda mempunyai lebih banyak kemungkinan, ia menjadikan kod boleh dibaca. Perhatikan, bahawa anda tidak perlu menguji sama ada klien argumen sama dengan 'luar negara' (walaupun tidak salah untuk melakukannya). Anda hanya mengandaikan bahawa jika pelanggan tidak mempunyai dua nilai lain, ia mestilah 'luar negara'.

Chained jika … kenyataan lain berfungsi pada satu nilai pada satu masa. Anda tidak boleh menggunakan rantai ini jika … kenyataan lain dalam cara vektor. Untuk itu, anda boleh sarang beberapa kenyataan ifelse, seperti ini:

VAT <- ifelse (client == 'private', 1. 12, ifelse (client == 'public', 1. 06, 1)) tot. harga <- bersih. harga * VAT

Sekeping kod ini boleh menjadi agak mengelirukan jika anda mempunyai lebih daripada tiga pilihan. Penyelesaiannya adalah untuk menukar.

Bagaimana Rantaian Jika ... Penyataan lain dalam R - dummies

Pilihan Editor

Lookup pintar di Office Online - dummies

Lookup pintar di Office Online - dummies

Di versi pengguna Office Online, ada ciri yang sangat keren yang membolehkan anda untuk mencari maklumat dari Bing, Wikipedia, Kamus Bahasa Inggeris Oxford, dan web itu sendiri, tanpa meninggalkan skrin atau halaman yang anda sedang aktif. Sebagai contoh, sebagai contoh, anda menulis blog di Word Online yang menyebut Paul Revere. Anda mahu ...

SharePoint Online App Options - dummies

SharePoint Online App Options - dummies

SharePoint Online dilengkapi dengan koleksi senarai standard dan perpustakaan. Microsoft telah mengambil masa untuk membangunkan ini untuk menjadikan kehidupan anda sebagai pemaju lebih mudah, jadi anda juga boleh menggunakannya. Senarai berikut memperkenalkan aplikasi senarai SharePoint standard dan memberikan penerangan ringkas: App Access: Aplikasi ini ...

Bagaimana Tag Kenalan di Skype untuk Perniagaan - dummies

Bagaimana Tag Kenalan di Skype untuk Perniagaan - dummies

Di Skype untuk Perniagaan, anda boleh menandai kenalan anda untuk makluman perubahan status. Ada kalanya anda memerlukan input daripada ahli pasukan. Cara terbaik untuk melakukannya dengan cepat adalah untuk menjangkau ahli pasukan anda, sama ada satu-satu atau kepada mereka sekaligus, melalui mesyuarat maya ad hoc. Mengetahui anda ...

Pilihan Editor

Outlook Kenalan 2016 Tab Rumah - dummies

Outlook Kenalan 2016 Tab Rumah - dummies

Pandangan Kenalan 2016 adalah lebih daripada sekadar senarai nama dan alamat e-mel. Anda boleh memanfaatkan tab Kenalan Home pada Outlook 2016 Ribbon untuk membuat kenalan baru, untuk mengatur cara anda melihat kenalan yang anda ada, atau untuk membuat mesej e-mel atau mel menggabungkan dokumen. Imej berikut menunjukkan ...

Quick for Outlook 2013 - dummies

Quick for Outlook 2013 - dummies

Outlook 2013 adalah program pelbagai guna. Ia adalah buku alamat, kalendar, senarai tugasan, dan program pengendalian e-mel, semua dalam satu. Ciri Outlook yang paling popular, bagaimanapun, adalah pengendalian e-mel. Berjuta-juta orang menggunakan Outlook sebagai program e-mel utama mereka, dan atas sebab yang baik! Ia pantas, lengkap, dan mudah digunakan dan ...

Pilihan Editor

Pentadbiran: Bekerja dengan Perkhidmatan - dummies

Pentadbiran: Bekerja dengan Perkhidmatan - dummies

Semasa mengatasi masalah Windows Server 2008 yang perlu anda kenal dengan Perkhidmatan konsol. Konsol perkhidmatan diakses dengan memilih Start → Administrative Tools → Services. Seperti yang digambarkan dalam menunjukkan angka berikut, konsol Perkhidmatan memaparkan senarai semua perkhidmatan yang sedang berjalan pada sistem anda. Jika ciri pelayan Windows tidak berfungsi ...

Keselamatan Akaun Administrator rangkaian - dummies

Keselamatan Akaun Administrator rangkaian - dummies

Pentadbir rangkaian bertanggungjawab untuk menyediakan sistem keselamatan rangkaian. Untuk melakukan itu, pentadbir mesti dikecualikan daripada semua sekatan keselamatan. Kerana ini, akaun pentadbir rangkaian mesti dilayan dengan berhati-hati. Banyak rangkaian secara automatik membuat akaun pengguna pentadbir apabila anda memasang perisian rangkaian. Nama pengguna dan kata laluan ...

Pentadbir rangkaian: Zon Carian Songsang - dummies

Pentadbir rangkaian: Zon Carian Songsang - dummies

Pertanyaan DNS biasa adalah pertanyaan carian ke hadapan, sesuai dengan nama domain yang memenuhi syarat. Peninjauan terbalik adalah bertentangan dengan pendahuluan ke hadapan: Ia mengembalikan nama domain yang lengkap bagi host berdasarkan alamat IPnya. Peninjauan terbalik adalah mungkin kerana domain khas yang dipanggil ...