Contexto

El paquete nycflights13 contiene información sore todos los vueles que partieron desde Nueva York(EWR, JFL, LGA) en destinos a los Estados Unidos en 2013. Fueron 336,776 vuelos en total. Para ayudar a comprender las causas de los retrasos, también incluye otros ocnjuntos de datos útiles.

Este paquete incluye las siguientes tablas:

  • flights = todos los vuelos que salieron de NUeva York en el 2013
  • weather = datos metereológicos por hora de cada aeropuerto
  • planes = información de construcción de cada avión
  • airports = nombres y ublicaciones de aeropuertos
  • airlines = relación entre nombres y códigos de las aerolíneas

Instalar paquetes y llamar librerías

# install.packages("nycflight13")
library(nycflights13)
# install.packages("tidyverse")
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.4.4     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors

Guardar base de datos

flights <- flights
weather <- weather
planes <- planes
airports <- airports
airlines <- airlines

Relación entre las bases de datos

Funciones básicas de Manejo de datos

Select

La función select sirve para seleccionar columnos de un table (data frame).

df1 <- flights %>% select(carrier, flight)
df2 <- flights %>% select(carrier:distance)
df3 <- flights %>% select(-carrier, -flight)
df4 <- flights %>% select(-carrier: -flight)
df5 <- flights %>% select(aerolinea = carrier)
df6 <- flights %>% rename(aerolinea = carrier)

Filter

La función Filter sirve para seleccionar renglones de un tabla(data frame).

df7 <- flights %>% filter(dep_delay >=500)
df8 <- flights %>% filter(dep_delay >=500, dep_delay <=600)
df9 <- flights %>% slice(1000: 1099)

Distinct

La función distinct sirve para eliminar renglones duplicados.

df10 <- distinct(flights)

Merge

La función merge sirve para juntar bases de datos.

bdgrande <- merge(flights, airlines, by="carrier")
bdgrande <- merge(bdgrande,planes, by="tailnum")
LS0tDQp0aXRsZTogIkRhdGEgV3JhbmdsaW5nX0EwMTE5ODU1MyINCmF1dGhvcjogIk5hbmN5IE1hcnJvcXXDrW4gLSBBMDExOTg1NTMiDQpkYXRlOiAiMjAyNC0wMi0xOSINCm91dHB1dDogDQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiBUUlVFDQogICAgdG9jX2Zsb2F0OiBUUlVFDQogICAgY29kZV9kb3dubG9hZDogVFJVRQ0KLS0tDQohW10oQzpcXFVzZXJzXFxsZW5vdm9cXERvd25sb2Fkc1xcbGxlZ2FyLWFlcm9wdWVydG8tbnVldmEteW9yay00LmpwZykNCg0KIyA8c3BhbiBzdHlsZT0iY29sb3I6IHB1cnBsZTsiPkNvbnRleHRvPC9zcGFuPiANCkVsIHBhcXVldGUgKipueWNmbGlnaHRzMTMqKiBjb250aWVuZSBpbmZvcm1hY2nDs24gc29yZSB0b2RvcyBsb3MgdnVlbGVzIHF1ZSBwYXJ0aWVyb24gZGVzZGUgTnVldmEgWW9yayhFV1IsIEpGTCwgTEdBKSBlbiBkZXN0aW5vcyBhIGxvcyBFc3RhZG9zIFVuaWRvcyBlbiAyMDEzLiBGdWVyb24gMzM2LDc3NiB2dWVsb3MgZW4gdG90YWwuIFBhcmEgYXl1ZGFyIGEgY29tcHJlbmRlciBsYXMgY2F1c2FzIGRlIGxvcyByZXRyYXNvcywgdGFtYmnDqW4gaW5jbHV5ZSBvdHJvcyBvY25qdW50b3MgZGUgZGF0b3Mgw7p0aWxlcy4gIA0KDQpFc3RlIHBhcXVldGUgaW5jbHV5ZSBsYXMgc2lndWllbnRlcyB0YWJsYXM6DQoNCisgZmxpZ2h0cyA9IHRvZG9zIGxvcyB2dWVsb3MgcXVlIHNhbGllcm9uIGRlIE5VZXZhIFlvcmsgZW4gZWwgMjAxMyAgDQorIHdlYXRoZXIgPSBkYXRvcyBtZXRlcmVvbMOzZ2ljb3MgcG9yIGhvcmEgZGUgY2FkYSBhZXJvcHVlcnRvICANCisgcGxhbmVzID0gaW5mb3JtYWNpw7NuIGRlIGNvbnN0cnVjY2nDs24gZGUgY2FkYSBhdmnDs24gIA0KKyBhaXJwb3J0cyA9IG5vbWJyZXMgeSB1YmxpY2FjaW9uZXMgZGUgYWVyb3B1ZXJ0b3MgIA0KKyBhaXJsaW5lcyA9IHJlbGFjacOzbiBlbnRyZSBub21icmVzIHkgY8OzZGlnb3MgZGUgbGFzIGFlcm9sw61uZWFzICANCg0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjogcHVycGxlOyI+SW5zdGFsYXIgcGFxdWV0ZXMgeSBsbGFtYXIgbGlicmVyw61hczwvc3Bhbj4NCmBgYHtyfQ0KIyBpbnN0YWxsLnBhY2thZ2VzKCJueWNmbGlnaHQxMyIpDQpsaWJyYXJ5KG55Y2ZsaWdodHMxMykNCiMgaW5zdGFsbC5wYWNrYWdlcygidGlkeXZlcnNlIikNCmxpYnJhcnkodGlkeXZlcnNlKQ0KYGBgDQoNCg0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPkd1YXJkYXIgYmFzZSBkZSBkYXRvczwvc3Bhbj4gDQpgYGB7cn0NCmZsaWdodHMgPC0gZmxpZ2h0cw0Kd2VhdGhlciA8LSB3ZWF0aGVyDQpwbGFuZXMgPC0gcGxhbmVzDQphaXJwb3J0cyA8LSBhaXJwb3J0cw0KYWlybGluZXMgPC0gYWlybGluZXMNCmBgYA0KDQojIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPlJlbGFjacOzbiBlbnRyZSBsYXMgYmFzZXMgZGUgZGF0b3M8L3NwYW4+IA0KIVtdKEM6XFxVc2Vyc1xcbGVub3ZvXFxEb3dubG9hZHNcXHJlbGF0aW9uYWwtbnljZmxpZ2h0cy5wbmcpDQoNCiMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+RnVuY2lvbmVzIGLDoXNpY2FzIGRlIE1hbmVqbyBkZSBkYXRvczwvc3Bhbj4NCg0KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+U2VsZWN0PC9zcGFuPiANCkxhIGZ1bmNpw7NuICpzZWxlY3QqIHNpcnZlIHBhcmEgc2VsZWNjaW9uYXIgY29sdW1ub3MgZGUgdW4gdGFibGUgKCpkYXRhIGZyYW1lKikuDQpgYGB7cn0NCmRmMSA8LSBmbGlnaHRzICU+JSBzZWxlY3QoY2FycmllciwgZmxpZ2h0KQ0KZGYyIDwtIGZsaWdodHMgJT4lIHNlbGVjdChjYXJyaWVyOmRpc3RhbmNlKQ0KZGYzIDwtIGZsaWdodHMgJT4lIHNlbGVjdCgtY2FycmllciwgLWZsaWdodCkNCmRmNCA8LSBmbGlnaHRzICU+JSBzZWxlY3QoLWNhcnJpZXI6IC1mbGlnaHQpDQpkZjUgPC0gZmxpZ2h0cyAlPiUgc2VsZWN0KGFlcm9saW5lYSA9IGNhcnJpZXIpDQpkZjYgPC0gZmxpZ2h0cyAlPiUgcmVuYW1lKGFlcm9saW5lYSA9IGNhcnJpZXIpDQpgYGANCg0KIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+RmlsdGVyPC9zcGFuPiANCkxhIGZ1bmNpw7NuICpGaWx0ZXIqIHNpcnZlIHBhcmEgc2VsZWNjaW9uYXIgcmVuZ2xvbmVzIGRlIHVuIHRhYmxhKCpkYXRhIGZyYW1lKikuDQpgYGB7cn0NCmRmNyA8LSBmbGlnaHRzICU+JSBmaWx0ZXIoZGVwX2RlbGF5ID49NTAwKQ0KZGY4IDwtIGZsaWdodHMgJT4lIGZpbHRlcihkZXBfZGVsYXkgPj01MDAsIGRlcF9kZWxheSA8PTYwMCkNCmRmOSA8LSBmbGlnaHRzICU+JSBzbGljZSgxMDAwOiAxMDk5KQ0KYGBgDQoNCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPkRpc3RpbmN0PC9zcGFuPiANCkxhIGZ1bmNpw7NuICpkaXN0aW5jdCogc2lydmUgcGFyYSBlbGltaW5hciByZW5nbG9uZXMgZHVwbGljYWRvcy4NCmBgYHtyfQ0KZGYxMCA8LSBkaXN0aW5jdChmbGlnaHRzKQ0KYGBgDQoNCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPk1lcmdlPC9zcGFuPiANCkxhIGZ1bmNpw7NuICptZXJnZSogc2lydmUgcGFyYSBqdW50YXIgYmFzZXMgZGUgZGF0b3MuDQpgYGB7cn0NCmJkZ3JhbmRlIDwtIG1lcmdlKGZsaWdodHMsIGFpcmxpbmVzLCBieT0iY2FycmllciIpDQpiZGdyYW5kZSA8LSBtZXJnZShiZGdyYW5kZSxwbGFuZXMsIGJ5PSJ0YWlsbnVtIikNCmBgYA0KDQoNCg0K