2.3 Operadores lógicos y relacionales
Además de poder operar matemáticamente dos objetos, los lenguajes de programación como R usan condiciones lógicas para definir estados de verdadero (TRUE
) o falso (FALSE
). Existen dos tipos de operadores en R para de definir un estado lógico:
Los operadores relacionales permiten comparar dos objetos y definir si la condición solicitada es verdadera o falsa. Por ejemplo: al preguntar a R si 10 es mayor que 9, definirá la condición lógica como verdadera. Este tipo de comparaciones pueden ser mayor, menor, mayor igual, menor igual, igual, no es igual o negación de un valor.
Los operadores lógicos permiten definir una condición lógica en base a los resultados de dos comparativas relacionales. Por ejemplo, si se desea filtrar las filas de una tabla para que se cumpla la condición 1: valores mayores a 10 en la columna A y la condición 2: valores menores que 5 en la columna B, es preciso que ambas condiciones se cumplan para que una fila se muestre en el resultado final, gracias al operador y. Si la condición usa el operador o, tanto se cumpla una u otra condición, la fila se mostrará en el filtrado final.
En la siguiente tabla se muestran los operadores lógicos (últimos dos) y relacionales.
Operador | Operación | Ejemplo | Resultado |
---|---|---|---|
!a |
a no es verdadero (negación de a ) |
!TRUE |
FALSE |
== |
a es igual b , donde b es un solo elemento |
1 == 2 |
FALSE |
%in% |
a es igual b , donde b es un conjunto de elementos |
1 %in% c(2,3,1) |
TRUE |
!= |
a no es igual b |
A != A |
FALSE |
> |
a es mayor que b |
10 > 9 |
TRUE |
< |
a es menor que b |
10 < 9 |
FALSE |
>= |
a es mayor igual que b |
10 >= 9 |
TRUE |
<= |
a es menor igual que b |
10 <= 9 |
FALSE |
| o || |
Se cumple la Condición 1 o Condición 2 . Si al menos una de las dos condiciones es verdadera, el resultado final es verdadero. |
9 == 10 | 10 > 9 |
TRUE |
& o && |
Se cumple la Condición 1 y la Condición 2 . Si ambas condiciones son verdadera, el resultado final es verdadero, de otro modo, falso. |
10 == 10 & 10 > 9 |
TRUE |