library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.3
## -- Attaching packages --------------------------------------- tidyverse 1.3.2 --
## v ggplot2 3.3.6 v purrr 1.0.1
## v tibble 3.1.8 v dplyr 1.0.10
## v tidyr 1.3.0 v stringr 1.5.0
## v readr 2.1.2 v forcats 0.5.2
## Warning: package 'ggplot2' was built under R version 4.1.3
## Warning: package 'tibble' was built under R version 4.1.3
## Warning: package 'tidyr' was built under R version 4.1.3
## Warning: package 'readr' was built under R version 4.1.3
## Warning: package 'purrr' was built under R version 4.1.3
## Warning: package 'dplyr' was built under R version 4.1.3
## Warning: package 'stringr' was built under R version 4.1.3
## Warning: package 'forcats' was built under R version 4.1.3
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
#Introduction. #In this assignment I took unstructured data for two arilines and the status of arivals and delays to five airports.
flight_data <- read.csv("C:/Users/akhay/OneDrive/Documents/Data Science/DATA607/Week_5/Flight_Data.csv")
head(flight_data)
## X X.1 Los.Angeles Pheonix San.Diego San.Francisco Seattle
## 1 ALASKA On Time 497 221 212 503 1841
## 2 Delayed 62 12 20 102 305
## 3 AM WEST On Time 694 4840 383 320 201
## 4 Delayed 117 415 65 129 61
flight_data_2 <- flight_data %>%
rename(airline = "X", status = "X.1") %>%
mutate(airline = na_if(airline, "")) %>%
fill(airline) %>%
pivot_longer(-c(airline, status), names_to = "airport", values_to = "status_count")
# pivot_wider(names_from = airline, values_from = status_count)
flight_data_2 %>%
group_by(status, airline) %>%
summarise(mean_count = mean(status_count)) %>%
pivot_wider(names_from = airline, values_from = mean_count)
## `summarise()` has grouped output by 'status'. You can override using the
## `.groups` argument.
## # A tibble: 2 x 3
## # Groups: status [2]
## status ALASKA `AM WEST`
## <chr> <dbl> <dbl>
## 1 Delayed 100. 157.
## 2 On Time 655. 1288.
flight_data_2 %>%
ggplot(aes(x = airline, y = status_count, fill = airline)) +
geom_boxplot() +
facet_wrap(~ status, scales = "free_y")
#Conclusion. #I used various functions to scrub and clean the data to prepare for analysis and visualization.