Contexto

El paquete nycflights13 contiene información sobre todos los vuelos que partieron desde Nueva York (EWR, JFK Y LGA) a destinos en los Estados Unidos en 2013.Fueron 336,776 vuelos en total. Para ayudar a comprender las causas de los retrasos tambien incluyen otros conjuntos de datos, utiles.

Este paquete incluye las siguientes tablas:

  • flights = todos los vuelos que salieron de nueva york en 2013.

  • weather = datos metereológicos por hora de cada aeropuerto.

  • planes = información de construcción de cada avión.

  • airports = nombres y ubicaciones de los aeropuertos.

  • airlines = relación entre nombres y códigos de aerolíneas.

Instalar paquetes y llamar librerías

# install.packages("nycflights13")
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
# install.packages("dplyr")
library(dplyr)

Guardar bases de datos

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

Relación bases de datos

Funciones Básicas de Manejo de Datos

Select

La función select sirve para seleccionar columnas de una tabla (data frame)

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

Filter

La función “filter” sirve para seleccionar renglones de una 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")
LS0tCnRpdGxlOiAiRGF0YSBXcmFuZ2xpbmcgKHBhcnRlIDEpIgphdXRob3I6ICJBbnRvbmlvIETDrWF6IEEwMDgzNzI1OSIKZGF0ZTogIjIwMjQtMDItMTkiCm91dHB1dDogCiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogdHJ1ZQogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCi0tLQohW10oL1VzZXJzL2FudG9uaW9kaWF6L0Rlc2t0b3AvTWFuaXB1bGFjaW/MgW4gRGF0b3MvcG5ndHJlZS1haXJwbGFuZS1mbGlnaHQtYWlyLXRyYW5zcG9ydC1wbmctaW1hZ2VfOTEzNTQ4Ni5wbmcpCgojIDxzcGFuIHN0eWxlPSJjb2xvcjpibHVlOyI+Q29udGV4dG88L3NwYW4+CgpFbCBwYXF1ZXRlICoqbnljZmxpZ2h0czEzKiogY29udGllbmUgaW5mb3JtYWNpw7NuIHNvYnJlIHRvZG9zIGxvcyB2dWVsb3MgcXVlIHBhcnRpZXJvbiBkZXNkZSBOdWV2YSBZb3JrIChFV1IsIEpGSyBZIExHQSkgYSBkZXN0aW5vcyBlbiBsb3MgRXN0YWRvcyBVbmlkb3MgZW4gMjAxMy5GdWVyb24gMzM2LDc3NiB2dWVsb3MgZW4gdG90YWwuIFBhcmEgYXl1ZGFyIGEgY29tcHJlbmRlciBsYXMgY2F1c2FzIGRlIGxvcyByZXRyYXNvcyB0YW1iaWVuIGluY2x1eWVuIG90cm9zIGNvbmp1bnRvcyBkZSBkYXRvcywgdXRpbGVzLgoKRXN0ZSBwYXF1ZXRlIGluY2x1eWUgbGFzIHNpZ3VpZW50ZXMgdGFibGFzOgoKKiBmbGlnaHRzID0gdG9kb3MgbG9zIHZ1ZWxvcyBxdWUgc2FsaWVyb24gZGUgbnVldmEgeW9yayBlbiAyMDEzLgoKKiB3ZWF0aGVyID0gZGF0b3MgbWV0ZXJlb2zDs2dpY29zIHBvciBob3JhIGRlIGNhZGEgYWVyb3B1ZXJ0by4gCgoqIHBsYW5lcyA9IGluZm9ybWFjacOzbiBkZSBjb25zdHJ1Y2Npw7NuIGRlIGNhZGEgYXZpw7NuLiAKCiogYWlycG9ydHMgPSBub21icmVzIHkgdWJpY2FjaW9uZXMgZGUgbG9zIGFlcm9wdWVydG9zLiAKCiogYWlybGluZXMgPSByZWxhY2nDs24gZW50cmUgbm9tYnJlcyB5IGPDs2RpZ29zIGRlIGFlcm9sw61uZWFzLgoKIyA8c3BhbiBzdHlsZT0iY29sb3I6Ymx1ZTsiPkluc3RhbGFyIHBhcXVldGVzIHkgbGxhbWFyIGxpYnJlcsOtYXM8L3NwYW4+CmBgYHtyfQojIGluc3RhbGwucGFja2FnZXMoIm55Y2ZsaWdodHMxMyIpCmxpYnJhcnkobnljZmxpZ2h0czEzKQojIGluc3RhbGwucGFja2FnZXMoInRpZHl2ZXJzZSIpCmxpYnJhcnkodGlkeXZlcnNlKQojIGluc3RhbGwucGFja2FnZXMoImRwbHlyIikKbGlicmFyeShkcGx5cikKYGBgCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPkd1YXJkYXIgYmFzZXMgZGUgZGF0b3M8L3NwYW4+CmBgYHtyfQpmbGlnaHRzIDwtIGZsaWdodHMKd2VhdGhlciA8LSB3ZWF0aGVyCnBsYW5lcyA8LSBwbGFuZXMKYWlycG9ydHMgPC0gYWlycG9ydHMKYWlybGluZXMgPC0gYWlybGluZXMKYGBgCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPlJlbGFjacOzbiBiYXNlcyBkZSBkYXRvczwvc3Bhbj4KIVtdKC9Vc2Vycy9hbnRvbmlvZGlhei9EZXNrdG9wL01hbmlwdWxhY2lvzIFuIERhdG9zL3JlbGF0aW9uYWwtbnljZmxpZ2h0cy5wbmcpCgojIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPkZ1bmNpb25lcyBCw6FzaWNhcyBkZSBNYW5lam8gZGUgRGF0b3M8L3NwYW4+CgojIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPlNlbGVjdDwvc3Bhbj4KTGEgZnVuY2nDs24gKnNlbGVjdCogc2lydmUgcGFyYSBzZWxlY2Npb25hciBjb2x1bW5hcyBkZSB1bmEgdGFibGEgKCpkYXRhIGZyYW1lKikKYGBge3J9CmRmMSA8LSBmbGlnaHRzICU+JSBzZWxlY3QoY2FycmllciwgZmxpZ2h0KQpkZjIgPC0gZmxpZ2h0cyAlPiUgc2VsZWN0KGNhcnJpZXI6ZGlzdGFuY2UpCmRmMyA8LSBmbGlnaHRzICU+JSBzZWxlY3QoLWNhcnJpZXIsIC1mbGlnaHQpCmRmNCA8LSBmbGlnaHRzICU+JSBzZWxlY3QoLWNhcnJpZXI6LWRpc3RhbmNlKQpkZjUgPC0gZmxpZ2h0cyAlPiUgc2VsZWN0KGFlcm9saW5lYT1jYXJyaWVyKQpkZjYgPC0gZmxpZ2h0cyAlPiUgcmVuYW1lKGFlcm9saW5lYT1jYXJyaWVyKQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjpibHVlOyI+RmlsdGVyPC9zcGFuPgpMYSBmdW5jacOzbiAiZmlsdGVyIiBzaXJ2ZSBwYXJhIHNlbGVjY2lvbmFyIHJlbmdsb25lcyBkZSB1bmEgdGFibGEgKCpkYXRhIGZyYW1lKikuCmBgYHtyfQpkZjcgPC0gZmxpZ2h0cyAlPiUgZmlsdGVyKGRlcF9kZWxheSA+PTUwMCkKZGY4IDwtIGZsaWdodHMgJT4lIGZpbHRlcihkZXBfZGVsYXkgPj01MDAsIGRlcF9kZWxheSA8NjAwKQpkZjkgPC0gZmxpZ2h0cyAlPiUgc2xpY2UoMTAwMDoxMDk5KQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjpibHVlOyI+RGlzdGluY3Q8L3NwYW4+CkxhIGZ1bmNpw7NuICpkaXN0aW5jdCogc2lydmUgcGFyYSBlbGltaW5hciByZW5nbG9uZXMgZHVwbGljYWRvcy4KYGBge3J9CmRmMTAgPC0gZGlzdGluY3QoZmxpZ2h0cykKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6Ymx1ZTsiPk1lcmdlPC9zcGFuPgpMYSBmdW5jacOzbiAqbWVyZ2UqIHNpcnZlIHBhcmEganVudGFyIGJhc2VzIGRlIGRhdG9zLgpgYGB7cn0KYmRncmFuZGUgPC0gbWVyZ2UoZmxpZ2h0cywgYWlybGluZXMsIGJ5PSJjYXJyaWVyIikKYmRncmFuZGUgPC0gbWVyZ2UoYmRncmFuZGUsIHBsYW5lcywgYnk9InRhaWxudW0iKQpgYGAKCg==