1 Presentación

El presente documento contiene el solucionario a los ejercicios 13.2.1 del libro de R for Data Science de Hadley Wickham y Garrett Grolemund en su versión en español.

Este documento se realiza con fines académicos para el curso de Técnicas de Exploración de Datos de la carrera de Estadística e Informática de la Universidad Nacional Agraria La Molina de Lima, Perú.

2 Marco téorico

2.1 Datos sobre vuelos

Usaremos datos sobre vuelos desde y hacia Nueva York para aprender sobre datos relacionales . El paquete datos contiene cinco tibbles que utilizaremos para este propósito: aerolineas , aeropuertos , aviones y clima , que se relacionan con la tabla vuelos (que se usó en el capítulo sobre transformación de datos): aerolineas permite observar el nombre completo de la aerolínea a partir de su código abreviado:

  • aerolineas permite observar el nombre completo de la aerolínea a partir de su código abreviado

  • aeropuertos entrega información de cada aeropuerto, identificado por su código :

  • aviones entrega información de cada avión, identificado por su codigo_cola:

  • clima entrega información del clima en cada aeropuerto de Nueva York para cada hora.

Una forma de mostrar las relaciones entre las diferentes tablas es mediante un diagrama:

Este diagrama es un poco abrumador, ¡pero es simple comparado con algunos que verás en el exterior! La clave para entender estos diagramas es recordar que cada relación siempre involucra un par de tablas. No necesitas entender todo el diagrama, necesitas entender la cadena de relaciones entre las tablas que te interesan.

En estos datos:

  • vuelos se connecta con aviones a través de la variable codigo_cola .
  • vuelos se conecta con aerolineas a través de la variable codigo_carrier .
  • vuelos se conecta con aeropuertos de dos formas: a través de las variables origen y destino .
  • vuelos se conecta con clima a través de las variables origen (la ubicación), anio , mes , dia y hora (el horario).

3 Ejercicios

3.1 Ejercicio 1

Imagina que necesitas dibujar (aproximadamente) la ruta que cada avión vuela desde su origen hasta el destino. ¿Qué variables necesitarías? ¿Qué tablas necesitarías combinar?

Para dibujar la ruta de los aviones desde su origen hasta su destino, necesitarías las variables origen y destino para identificar los puntos de inicio y final de cada vuelo. Además, necesitarías combinar las tablas vuelos con aeropuertos usando estas variables para obtener la ubicación geográfica (latitud y longitud) de cada aeropuerto.

3.2 Ejercicio 2

Olvidamos dibujar la relación entre clima y aeropuertos. ¿Cuál es la relación y cómo debería aparecer en el diagrama?

La relación entre clima y aeropuertos se basaría en la ubicación geográfica de los aeropuertos y las condiciones meteorológicas correspondientes a esas ubicaciones. En el diagrama, debería aparecer como una conexión entre la tabla clima y aeropuertos, utilizando la ubicación del aeropuerto (origen) como clave para vincular el clima con el aeropuerto específico.

3.3 Ejercicio 3

Clima únicamente contiene información de los aeropuertos de origen (Nueva York). Si incluyera registros para todos los aeropuertos de EEUU, ¿qué relación tendría con vuelos?

Si la tabla de clima se expandiera para incluir registros para todos los aeropuertos de EE.UU., y quisiéramos vincularla con una tabla de vuelos que contenga tanto los aeropuertos de origen como de destino, usaremos un join de dos pasos utilizando joins externos (outer joins) o joins izquierdos (left joins), dependiendo de la estructura de datos y lo que se quiera analizar específicamente. Se podria hacer de la siguiente manera:

1.Primer Paso Join de Clima de Origen con Vuelos

  • Se realiza un join entre la tabla de vuelos y la tabla de clima usando el aeropuerto de origen y la fecha/hora del vuelo como claves de unión. Este paso enlaza cada vuelo con las condiciones climáticas en su punto de origen.

  • Podría ser un left join si queremos mantener todos los vuelos en el resultado, incluso aquellos para los cuales no tenemos datos climáticos específicos, asegurando que no se pierda información de vuelos debido a la falta de datos climáticos.

2.Segundo Paso Join de Clima de Destino con el Resultado del Primer Paso

  • Luego, se realiza un segundo join, esta vez usando el aeropuerto de destino y la fecha/hora estimada de llegada (o una aproximación basada en la duración del vuelo) como claves para unir el resultado del primer paso con otra instancia de la tabla de clima.

  • De nuevo, podría ser un left join para asegurar que mantenemos todos los vuelos en el resultado final, independientemente de la disponibilidad de datos climáticos de destino.

Esta estrategia permite integrar la información climática de ambos el punto de origen y de destino para cada vuelo, ofreciendo una visión completa de cómo las condiciones meteorológicas en ambos extremos pueden afectar los vuelos. Este enfoque es crucial para análisis detallados sobre la puntualidad, cancelaciones, y otras métricas de rendimiento de los vuelos relacionadas con el clima.

3.4 Ejercicio 4

Sabemos que hay días “especiales” en el año y pocas personas suelen volar en ellos. ¿Cómo se representarían en un data frame? ¿Cuáles serían las claves primarias de esa tabla? ¿Cómo se conectaría con las tablas existentes?

Los días “especiales” en el año podrían representarse en un data frame llamado, por ejemplo, dias_especiales, con columnas para la fecha del día especial y una descripción del evento. Las claves primarias de esta tabla serían la fecha del día especial. Esta tabla se conectaría con las tablas existentes (por ejemplo, vuelos) a través de una relación que vincule la fecha del vuelo con la fecha del día especial, permitiendo analizar cómo estos días afectan a los patrones de vuelo.

fechas_especiales <- as.Date(c("2024-01-01", "2024-12-25", "2024-07-04")) 
descripciones <- c("Año Nuevo", "Navidad", "Día de la Independencia")
# Crear el data frame
dias_especiales <- data.frame(fecha = fechas_especiales, descripcion = descripciones)
dias_especiales
##        fecha             descripcion
## 1 2024-01-01               Año Nuevo
## 2 2024-12-25                 Navidad
## 3 2024-07-04 Día de la Independencia