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.