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