Operadores condicionales

Un breve tutorial sobre el uso de los operadores lógicos en R

Ronny Hernández-Mora http://ronnyhdez.rbind.io/ (ixpantia)https://www.ixpantia.com
01-13-2020

¿Qué son operadores?

Para poder manejar datos dentro de R necesitamos una serie de símbolos que tengan un significado valido entre la computadora y el usuario. R tiene una “notation” para hacer evaluaciones de instrucciones que se dan a través de esos símbolos.

En este caso vamos a evaluar dos tipos de operadores: los lógicos y los booleanos.

Operadores lógicos

Con estos nos podemos comunicar con la ccomputadora a través de comparaciones. Por ejemplo podemos preguntar ¿es uno mayor que tres?, ¿es cinco mayor o igual que cuatro?; y la respuesta que esperamos es que sea lógica, un TRUE o un FALSE.

Esto aunque parezca simple, nos ayudará bastante dentro de nuestro trabajo diario dentro de proyectos DATA, ya que mucha de la manipulación de los datos para su exploración y anaĺisis requieren de este tipo de condiciones.

Para concerlos a fondo, tenemos un cuadro que nos indica cuáles son los operadores lógicas y qué significan:

Operador Sintaxis Significado
> a > b ¿Es a mayor que b?
< a < b ¿Es a menor que b?
>= a >= b ¿Es a mayor o igual que b?
<= a <= b ¿Es a menor o igual que b?
== a == b ¿Es a igual que b?
!= a != b ¿Es a diferente de b?
%in% a %in% c(a,b,c) ¿Está a en en el grupo (a,b,c)?

Ejemplos operadores lógicos

Hasta acá hemos revisado conceptualmente los operadores lógicos. Aprendérselos es bastante útil si queremos tener fluidez en R para manejar datos. Vamos a repasar con código la respuesta de R cuando hacemos este tipo de evaluaciones lógicas, donde R nos devolverá un TRUE o un FALSE.

¿Es cinco mayor que tres?

[1] TRUE
¿Es cinco menor que tres?

[1] FALSE
¿Es mil mayor o igual que quinientos?

[1] TRUE
El siguiente lo podemos leer sin “traducción” y ccncluir sobre su respuesta

[1] FALSE  TRUE  TRUE  TRUE FALSE FALSE

Con esos ejemplos anteriores nosotros mismos lo podemos evaluar directamente, pero en muchas ocasiones tendremos vectores que no conocemos bien su contenido y es más eficiente hacer la evaluación en R:


[1] TRUE

[1] TRUE

[1] FALSE

Los operadores lógicos son fáciles de comprender para humanos y con R nos da la facilidad de rápidamente crear condiciones que nos permitan por ejemplo hacer subconjuntos de datos. Al final de este tutorial tendremos un ejemplo con un conjunto de datos real.

Operadores boleanos

Con los operadores boleanos tenemos otro tipo de herramienta: con estos podemos combinar varias pruebas lógicas juntas en una sola prueba.

En el siguiente cuadro mostramos cuales son los operadores booleanos existentes, su sintaxis y significado:

Operador Sintaxis Significado
& cond1 & cond2 ¿Son ambas condiciones verdaderas?
| cond1 | cond2 ¿Es una o mas de la cond1 and cond2 verdaderas?
xor xor(cond1, cond2) ¿Es exactamente una de las cond1 y cond2 verdadera?
! !cond1 ¿Es la cond1 falsa?
any any(cond1, cond2, cond3, …) ¿Es alguna de las condiciones verdadera?
all all(cond1, cond2, cond3, …) ¿Son todas las condiciones verdaderas?

Ejemplos operadores boleanos

¿Es cinco mayor que tres y cuatro menor que seis?

[1] TRUE
¿Es cuatro menor que dos o cinco mayor que uno?

[1] TRUE
¿Es siete mayor que tres o nueve menor que ocho?

[1] TRUE
¿Es cinco menor que tres falso?

[1] TRUE

Con los ejemplos anteriores podemos comprender la lógica que hay detrás de los operadores boleanos. Trata de “jugar” un poco con otras condiciones y los operadores boleanos para terminar de comprender que evaluamos cuando los utilizamos.

En el siguiente segmento utilizaremos estos operadores en conjunto con los operadores lógicos para poder llegar a obtener información de un conjunto de datos.

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY-NC 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

Citation

For attribution, please cite this work as

Hernández-Mora (2020, Jan. 13). ixpantia blog: Operadores condicionales. Retrieved from https://connect.ixpantia.com/ixblog/posts/2020-01-13-operadores-condicionales/

BibTeX citation

@misc{hernández-mora2020operadores,
  author = {Hernández-Mora, Ronny},
  title = {ixpantia blog: Operadores condicionales},
  url = {https://connect.ixpantia.com/ixblog/posts/2020-01-13-operadores-condicionales/},
  year = {2020}
}