This doesn't make sense to me, because && should evaluate left to right, and stop as soon as one of its conditions is true.
This is wrong. You are mixing up &&
with ||
:
TRUE && FALSE
givesFALSE
- && requires both conditions to be TRUE
&&
will short-circuit on FALSE
TRUE || FALSE
givesTRUE
||
requires a single condition to be TRUE||
will short-circuit on TRUE
Also,
TRUE || NA
gives
TRUE