Dokumentasi untuk ifelse
negara bagian:
ifelse
mengembalikan nilai dengan bentuk yang sama seperti test
yang diisi dengan elemen yang dipilih dari salah satu yes
atau
no
bergantung pada apakah elemen dari test
is TRUE
atau 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 ifelse
dimaksudkan untuk tujuan khusus menguji vektor boolean dan mengembalikan vektor dengan panjang yang sama, diisi dengan elemen yang diambil dari (vektor) yes
dan no
argumen.
Ini adalah kebingungan umum, karena nama fungsinya, untuk menggunakan ini ketika Anda sebenarnya hanya menginginkan if () {} else {}
konstruksi normal .