Inicio
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.2 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.3 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ 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
library(nycflights13)
data(flights)
View(flights)
#1 La instrucción select(flights, carrier, flight, origin, dest, air_time, distance) se utiliza para seleccionar campos específicos del data frame “flights”. En este caso, hemos seleccionado los campos “carrier”, “flight”, “origin”, “dest”, “air_time” y “distance”. Esta operación nos permite enfocarnos en las columnas relevantes para el análisis y descartar aquellas que no son necesarias.
flights%>%
select (carrier, flight, origin, dest, air_time, distance)
#2 La instrucción select(flights, year:day) permite seleccionar un rango de columnas en el data frame “flights”, en este caso, desde “year” hasta “day”. Esto es útil para visualizar un subconjunto de las columnas que están en orden secuencial.
flights%>%
select (year, month, day)
#3 Usando select(flights, -(hour:minute), -time_hour), podemos excluir las columnas “hour”, “minute” y “time_hour” del data frame. Esta operación es útil cuando deseamos trabajar con un conjunto de columnas más reducido para facilitar el análisis.
flights%>%
select(-hour, -minute, -time_hour)
#4 La instrucción select(flights, starts_with(“dep”)) nos permite seleccionar todas las columnas que comienzan con el prefijo “dep”. Esto puede ser útil cuando estamos interesados en campos relacionados con la partida.
flights%>%
select(starts_with("dep"))
#5 Con select(flights, ends_with(“delay”)), estamos eligiendo las columnas que terminan con “delay”. Esta operación puede ser útil para identificar todas las columnas relacionadas con los retrasos en el vuelo.
flights%>%
select(ends_with("delay"))
#6 La instrucción select(flights, contains(“time”)) nos ayuda a seleccionar todas las columnas que contienen la cadena “time” en sus nombres. Esto puede ser útil para trabajar con variables relacionadas con el tiempo.
flights%>%
select(contains("time"))
#7 Mediante el uso de mutate(), se han creado dos nuevos campos en el data frame: “tiempo_ganado” (calculado como la diferencia entre la hora de llegada y la de partida) y “velocidad_vuelo” (calculado dividiendo la distancia entre el tiempo de vuelo y multiplicando por 60). Esto enriquece el data frame con información adicional.
#agrega dos campos al data frame anterior
#1) tiempo_ganado que resulta de restar la hora de llegada a la hora de partida
#2) velocidad_vuelo que resulta de dividir distancia entre tiempo de vuelo por 60
flights%>%
mutate(time_gained = arr_time - dep_time,
flight_speed = distance / (air_time / 60))%>%
select(year:day, ends_with("delay"), distance, air_time,time_gained,flight_speed)
#8 Con transmute(flights_new, tiempo_ganado, velocidad_vuelo), estamos mostrando solo los dos campos calculados previamente en el data frame “flights_new”. Esto puede ser útil cuando deseamos ver solamente las variables resultantes de una operación.
Filtrando datos en un data frame con filter()
flights%>%
transmute(time_gained = arr_time - dep_time,
flight_speed = distance / (air_time / 60))
#9 La función filter(flights, arr_delay > 120) se emplea para filtrar los vuelos que tienen un retraso en la llegada superior a 2 horas. Esto nos permite identificar los vuelos que han experimentado retrasos significativos.
flights %>%
filter(arr_delay > 120)
#10 Con filter(flights, arr_delay > 120 | dep_delay > 120), estamos filtrando los vuelos que tienen retrasos superiores a 2 horas en la llegada o la partida. Esto nos ayuda a identificar vuelos con problemas en ambos momentos del viaje.
flights %>%
filter(arr_delay >120 | dep_delay >120)
#11 ALa instrucción filter(flights, !(arr_delay > 120 | dep_delay > 120)) nos permite filtrar los vuelos que no tienen retrasos superiores a 2 horas ni en la llegada ni en la partida. Esto puede ser útil para identificar vuelos que han operado con puntualidad.
flights %>%
filter(!(arr_delay > 120 | dep_delay > 120))
#12 Con filter(flights, month %in% c(11, 12)), estamos seleccionando los vuelos realizados en los meses de Noviembre y Diciembre. Esto es útil cuando queremos centrarnos en un período específico.
flights %>%
filter(month %in% c(11,12))
#13 Usando filter(flights, carrier %in% c(“UA”, “AA”, “DL”)), estamos filtrando los vuelos operados por las aerolíneas United, American y Delta. Esto puede ser útil cuando deseamos analizar datos de aerolíneas específicas.
airlines %>%
filter(name %in% c("United Air Lines Inc.", "American Airlines Inc.", "Delta Air Lines Inc."))
#Consulta el data frame airlines para identificar las claves de los carrier correspondientes a las aerolíneas United, American y Delta
#14 arrange()funciona de manera similar a filter() excepto que en lugar de seleccionar filas, cambia su orden
#Ordena flights para encontrar los vuelos más retrasados, el campo arr_delay indica el retraso a la llegada, ordena en forma descendente
#utiliza pipe para que veas como facilita la estructura de la consulta
flights %>%
arrange(desc(arr_delay))