5.2 Operadores relacionales
Los operadores lógicos son usados para hacer comparaciones y siempre devuelven como resultado TRUE o FALSE (verdadero o falso, respectivamente).
| Operador | Comparación | Ejemplo | Resultado |
|---|---|---|---|
< |
Menor que | 5 < 3 |
FALSE |
<= |
Menor o igual que | 5 <= 3 |
FALSE |
> |
Mayor que | 5 > 3 |
TRUE |
>= |
Mayor o igual que | 5 >= 3 |
TRUE |
== |
Exactamente igual que | 5 == 3 |
FALSE |
!= |
No es igual que | 5 != 3 |
TRUE |
Es posible comparar cualquier tipo de dato sin que resulte en un error.
Sin embargo, al usar los operadores >, >=, < y <= con cadenas de texto, estos tienen un comportamiento especial.
Por ejemplo, "casa" > "barco" nos devuelve TRUE.
"casa" > "barco"## [1] TRUE
Este resultado se debe a que se ha hecho una comparación por orden alfabético. En este caso, la palabra “casa” tendría una posición posterior a “barco,” pues empieza con “c” y esta letra tiene una posición posterior a la “b” en el alfabeto. Por lo tanto, es verdadero que sea “mayor.”
Cuando intentamos comparar factores, siempre obtendremos como resultado NA y una advertencia acerca de que estos operadores no son significativos para datos de tipo factor.
as.factor("casa") > "barco"## Warning in Ops.factor(as.factor("casa"), "barco"): '>' not meaningful for
## factors
## [1] NA