Dokumentasi untuk ifelsenegara bagian:
ifelsemengembalikan nilai dengan bentuk yang sama seperti testyang diisi dengan elemen yang dipilih dari salah satu yesatau
nobergantung pada apakah elemen dari testis TRUEatau FALSE.
Karena Anda melewati nilai tes panjang 1, Anda mendapatkan hasil panjang 1. Jika Anda melewati vektor uji yang lebih panjang, Anda akan mendapatkan hasil yang lebih panjang:
> ifelse(c(TRUE, FALSE), c(1, 2), c(3, 4))
[1] 1 4
Jadi ifelsedimaksudkan untuk tujuan khusus menguji vektor boolean dan mengembalikan vektor dengan panjang yang sama, diisi dengan elemen yang diambil dari (vektor) yesdan noargumen.
Ini adalah kebingungan umum, karena nama fungsinya, untuk menggunakan ini ketika Anda sebenarnya hanya menginginkan if () {} else {}konstruksi normal .