contexto

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

Este paquete incluye las siguientes tablas:

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

Instalar paquetes y llamar librerias

#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

Guardar bases de datos

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

Relación entre las bases de datos

Funciones basicas de manejo de datos

Select

La funcion 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 funcion 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 funcion distinct sirve para eliminar renglones duplicados.

df10 <- distinct(flights)

Merge

La funcion Merge sirve para juntar bases de datos.

bdgrande <-merge(flights, airlines, by="carrier")
bdgrande <-merge(bdgrande, planes, by="tailnum")
LS0tDQp0aXRsZTogIkRhdGEgV3JhbmdsaW5nIChwYXJ0ZSAxKSINCmF1dGhvcjogIlJhZmFlbGxhIFDDqXJleiBGbG9yZXMiDQpkYXRlOiAiMjAyNC0wMi0xOSINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IFRSVUUNCiAgICB0b2NfZmxvYXQ6IFRSVUUNCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFDQotLS0NCg0KIVtdKEM6XFxVc2Vyc1xcam1wbzJcXERvd25sb2Fkc1xcTWVtZS5qcGcpDQoNCiMgPHNwYW4gc3R5bGUgPSAiY29sb3I6IGJsdWU7IiA+IGNvbnRleHRvPC9zcGFuPg0KRWwgcGFxdWV0ZSAqKm55Y2ZsaWdodHMxMyoqIGNvbnRpZW5lIGluZm9ybWFjaW9uIHNvYnJlIHRvZG9zIGxvcyB2dWVsb3MgcXVlIHBhcnRpZXJvbiBkZXNkZSBOdWV2YSBZb3JrIChFV1IsIEpGSywgTEdBKSBhIGRlc3Rpbm9zIGVuIGxvcyBFc3RhZG9zIFVuaWRvcyBlbiAyMDEzLiBGdWVyb24gMzM2LDc3NiB2dWVsb3MgZW4gdG90YWwuIFBhcmEgYXl1ZGFyIGEgY29tcHJlbmRlciBsYXMgY2F1c2FzIGRlIGxvcyByZXRyYXNvcywgdGFtYmnDqW4gaW5jbHV5ZSBvdHJvcyBjb25qdW50b3MgZGUgZGF0b3Mgw7p0aWxlcy4NCg0KRXN0ZSBwYXF1ZXRlIGluY2x1eWUgbGFzIHNpZ3VpZW50ZXMgdGFibGFzOiAgDQoNCisgZmxpZ2h0cyA9IHRvZG9zIGxvcyB2dWVsb3MgcXVlIHNhbGllcm9uIGRlIE51ZXZhIFlvcmsgZW4gMjAxMyANCisgd2VhdGhlciA9IGRhdG9zIG1ldGVvcm9sb2dpY29zIHBvciBob3JhIGRlIGNhZGEgYWVyb3B1ZXJ0byAgDQorIHBsYW5lcyA9IGluZm9ybWFjacOzbiBkZSBjb25zdHJ1Y2Npw7NuIGRlIGNhZGEgYXZpw7NuICANCisgYWlycG9ydHMgPSBub21icmVzIHkgdWJpY2FjaW9uZXMgZGUgYWVyb3B1ZXJ0b3MgIA0KKyBhaXJsaW5lcz0gcmVsYWNpw7NuIGVudHJlIG5vbWJyZXMgeSBjw7NkaWdvcyBkZSBsYXMgYWVyb2zDrW5lYXMgIA0KDQojIDxzcGFuIHN0eWxlID0gImNvbG9yOiBibHVlOyIgPiBJbnN0YWxhciBwYXF1ZXRlcyB5IGxsYW1hciBsaWJyZXJpYXM8L3NwYW4+DQpgYGB7cn0NCiNpbnN0YWxsLnBhY2thZ2VzKCJueWNmbGlnaHRzMTMiKQ0KbGlicmFyeShueWNmbGlnaHRzMTMpDQojaW5zdGFsbC5wYWNrYWdlcygidGlkeXZlcnNlIikNCmxpYnJhcnkodGlkeXZlcnNlKQ0KYGBgDQoNCg0KIyA8c3BhbiBzdHlsZSA9ICJjb2xvcjogYmx1ZTsiID4gR3VhcmRhciBiYXNlcyBkZSBkYXRvczwvc3Bhbj4NCmBgYHtyfQ0KZmxpZ2h0cyA8LSBmbGlnaHRzDQp3ZWF0aGVyIDwtIHdlYXRoZXINCnBsYW5lcyA8LSBwbGFuZXMNCmFpcnBvcnRzIDwtIGFpcnBvcnRzDQphaXJsaW5lcyA8LSBhaXJsaW5lcw0KYGBgDQoNCiMgPHNwYW4gc3R5bGUgPSAiY29sb3I6IGJsdWU7IiA+IFJlbGFjacOzbiBlbnRyZSBsYXMgYmFzZXMgZGUgZGF0b3M8L3NwYW4+DQohW10oQzpcXFVzZXJzXFxqbXBvMlxcRG93bmxvYWRzXFxGb3RvIDEucG5nKQ0KDQojIDxzcGFuIHN0eWxlID0gImNvbG9yOiBibHVlOyIgPiBGdW5jaW9uZXMgYmFzaWNhcyBkZSBtYW5lam8gZGUgZGF0b3M8L3NwYW4+DQoNCg0KIyMgPHNwYW4gc3R5bGUgPSAiY29sb3I6IGJsdWU7IiA+IFNlbGVjdDwvc3Bhbj4NCkxhIGZ1bmNpb24gKnNlbGVjdCogc2lydmUgcGFyYSBzZWxlY2Npb25hciBjb2x1bW5hcyBkZSB1bmEgdGFibGEgKCpkYXRhIGZyYW1lKikNCmBgYHtyfQ0KZGYxIDwtIGZsaWdodHMlPiUgc2VsZWN0KGNhcnJpZXIsIGZsaWdodCkNCmRmMiA8LSBmbGlnaHRzJT4lIHNlbGVjdChjYXJyaWVyLCBkaXN0YW5jZSkNCmRmMyA8LSBmbGlnaHRzJT4lIHNlbGVjdChjYXJyaWVyLCAtZmxpZ2h0KQ0KZGY0IDwtIGZsaWdodHMlPiUgc2VsZWN0KGNhcnJpZXIsIC1kaXN0YW5jZSkNCmRmNSA8LSBmbGlnaHRzJT4lIHNlbGVjdChhZXJvbGluZWE9Y2FycmllcikNCmRmNiA8LSBmbGlnaHRzJT4lIHJlbmFtZShhZXJvbGluZWE9Y2FycmllcikNCmBgYA0KDQojIyA8c3BhbiBzdHlsZSA9ICJjb2xvcjogYmx1ZTsiID4gRmlsdGVyPC9zcGFuPg0KTGEgZnVuY2lvbiAqZmlsdGVyKiBzaXJ2ZSBwYXJhIHNlbGVjY2lvbmFyIHJlbmdsb25lcyBkZSB1bmEgdGFibGEgKCpkYXRhIGZyYW1lKikNCg0KYGBge3J9DQpkZjcgPC0gZmxpZ2h0cyU+JSBmaWx0ZXIoZGVwX2RlbGF5ID49NTAwKQ0KZGY4IDwtIGZsaWdodHMlPiUgZmlsdGVyKGRlcF9kZWxheSA+PTUwMCwgZGVwX2RlbGF5IDw2MDApDQpkZjkgPC0gZmxpZ2h0cyU+JSBzbGljZSgxMDAwOjEwOTkpDQpgYGANCg0KIyMgPHNwYW4gc3R5bGUgPSAiY29sb3I6IGJsdWU7IiA+IERpc3RpbmN0PC9zcGFuPg0KTGEgZnVuY2lvbiAqZGlzdGluY3QqIHNpcnZlIHBhcmEgZWxpbWluYXIgcmVuZ2xvbmVzIGR1cGxpY2Fkb3MuIA0KYGBge3J9DQpkZjEwIDwtIGRpc3RpbmN0KGZsaWdodHMpDQoNCmBgYA0KIyMgPHNwYW4gc3R5bGUgPSAiY29sb3I6IGJsdWU7IiA+IE1lcmdlPC9zcGFuPg0KTGEgZnVuY2lvbiAqTWVyZ2UqIHNpcnZlIHBhcmEganVudGFyIGJhc2VzIGRlIGRhdG9zLg0KYGBge3J9DQpiZGdyYW5kZSA8LW1lcmdlKGZsaWdodHMsIGFpcmxpbmVzLCBieT0iY2FycmllciIpDQpiZGdyYW5kZSA8LW1lcmdlKGJkZ3JhbmRlLCBwbGFuZXMsIGJ5PSJ0YWlsbnVtIikNCmBgYA0KDQoNCg==