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:
|
devuelveTRUE
si alguno de los datos esTRUE
&
solo devuelveTRUE
si ambos datos esTRUE
|
solo devuelveFALSE
si ambos datos sonFALSE
&
devuelveFALSE
si alguno de los datos esFALSE
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