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