Kleene logical AND: strong or weak
Usage
and(x, y, kleene_logic = c("strong", "weak"))Examples
# And operation with strong Kleene logic (default), same as `&`.
and(c(TRUE, FALSE, FALSE, NA), c(TRUE, TRUE, NA, NA))
#> [1] TRUE FALSE FALSE NA
# Weak Kleene logic (propagate `NA` even if other is `FALSE`).
and(c(TRUE, FALSE, FALSE, NA), c(TRUE, TRUE, NA, NA), kleene_logic = "weak")
#> [1] TRUE FALSE NA NA