5.3 Operadores lógicos

Los operadores lógicos son usados para operaciones de álgebra Booleana, es decir, para describir relaciones lógicas, expresadas como verdadero (TRUE) o falso (FALSO).

Operador Comparación Ejemplo Resultado
x | y x Ó y es verdadero TRUE | FALSE TRUE
x & y x Y y son verdaderos TRUE & FALSE FALSE
!x x no es verdadero (negación) !TRUE FALSE
isTRUE(x) x es verdadero (afirmación) isTRUE(TRUE) TRUE

Los operadores | y & siguen estas reglas:

  • | devuelve TRUE si alguno de los datos es TRUE
  • & solo devuelve TRUE si ambos datos es TRUE
  • | solo devuelve FALSE si ambos datos son FALSE
  • & devuelve FALSE si alguno de los datos es FALSE

Estos operadores pueden ser usados con estos con datos de tipo numérico, lógico y complejo. Al igual que con los operadores relacionales, los operadores lógicos siempre devuelven TRUE o FALSE.

Para realizar operaciones lógicas, todos los valores numéricos y complejos distintos a 0 son coercionados a TRUE, mientras que 0 siempre es coercionado a FALSE.

Por ejemplo, 5 | 0 resulta en TRUE y 5 & FALSE resulta en FALSE. Podemos comprobar lo anterior con la función isTRUE().

5 | 0
## [1] TRUE
5 & 0
## [1] FALSE
isTRUE(0)
## [1] FALSE
isTRUE(5)
## [1] FALSE

Estos operadores se pueden combinar para expresar relaciones complejas.

Por ejemplo, la negación FALSE Y FALSE dará como resultado TRUE.

!(FALSE | FALSE)
## [1] TRUE

También podemos combinar operadores lógicos y relacionales, dado que esto últimos dan como resultado TRUE y FALSE.

## [1] TRUE