diff --git a/logicals.qmd b/logicals.qmd index 3146e17..e778322 100644 --- a/logicals.qmd +++ b/logicals.qmd @@ -243,9 +243,11 @@ df |> ) ``` -To understand what's going on, think about `NA | TRUE`. +To understand what's going on, think about `NA | TRUE` (`NA` or `TRUE`). A missing value in a logical vector means that the value could either be `TRUE` or `FALSE`. -`TRUE | TRUE` and `FALSE | TRUE` are both `TRUE`, so `NA | TRUE` must also be `TRUE`. +`TRUE | TRUE` and `FALSE | TRUE` are both `TRUE` because at least one of them is `TRUE`. +`NA | TRUE` must also be `TRUE` because `NA` can either be `TRUE` or `FALSE`. +However, `NA | FALSE` is `NA` because we don't know if `NA` is `TRUE` or `FALSE`. Similar reasoning applies with `NA & FALSE`. ### Order of operations