library(tidyverse)
library(openintro)
library(tidyr)
library(dplyr)
library(ggplot2)

Read data from the CSV file

# Read the csv file
data <- read.csv("C:\\Users\\HP\\Documents\\arrival delays for two airlines.csv")
print(data)
##   Airline  Status Los.Angeles Phoenix San.Diego San.Francisco Seattle
## 1  Alaska on time         497     221       212           503    1841
## 2  Alaska delayed          62      12        20           102     305
## 3 Am West on time         694    4840       383           320     201
## 4 Am West delayed         117     415        65           129      61

The above section reads data from a CSV file and inspects it for any inconsistencies ### Tidy the data using tidyr and diplyr

tidy_airline_data <- data %>%
 pivot_longer(cols = c(`Los.Angeles`, Phoenix, `San.Diego`, `San.Francisco`, Seattle), 
               names_to = "Destination", 
               values_to = "Count") %>%
  arrange(Airline, Status, Destination)

print(tidy_airline_data)
## # A tibble: 20 × 4
##    Airline Status  Destination   Count
##    <chr>   <chr>   <chr>         <int>
##  1 Alaska  delayed Los.Angeles      62
##  2 Alaska  delayed Phoenix          12
##  3 Alaska  delayed San.Diego        20
##  4 Alaska  delayed San.Francisco   102
##  5 Alaska  delayed Seattle         305
##  6 Alaska  on time Los.Angeles     497
##  7 Alaska  on time Phoenix         221
##  8 Alaska  on time San.Diego       212
##  9 Alaska  on time San.Francisco   503
## 10 Alaska  on time Seattle        1841
## 11 Am West delayed Los.Angeles     117
## 12 Am West delayed Phoenix         415
## 13 Am West delayed San.Diego        65
## 14 Am West delayed San.Francisco   129
## 15 Am West delayed Seattle          61
## 16 Am West on time Los.Angeles     694
## 17 Am West on time Phoenix        4840
## 18 Am West on time San.Diego       383
## 19 Am West on time San.Francisco   320
## 20 Am West on time Seattle         201

In this section the data was tidied using the tidyr and dplyr packages in R. The pivot_longer function was used to reshape the data into a long format, making it easier to analyze and visualize

Analysis to Compare the Arrival Delays

# Summarize the on-time and delayed counts by airline
summary_delays <- tidy_airline_data %>%
  group_by(Airline, Status) %>%
  summarize(Total_Count = sum(Count))
## `summarise()` has grouped output by 'Airline'. You can override using the
## `.groups` argument.
print(summary_delays)
## # A tibble: 4 × 3
## # Groups:   Airline [2]
##   Airline Status  Total_Count
##   <chr>   <chr>         <int>
## 1 Alaska  delayed         501
## 2 Alaska  on time        3274
## 3 Am West delayed         787
## 4 Am West on time        6438
# Plot the delays
ggplot(tidy_airline_data, aes(x = Destination, y = Count, fill = Status)) +
  geom_bar(stat = "identity", position = "dodge") +
  facet_wrap(~ Airline) +
  theme_minimal() +
  labs(title = "Comparison of Arrival Delays by Airline",
       x = "Destination",
       y = "Count",
       fill = "Status")

The above section has the summary statistics. The summary statistics for the on-time and delayed counts were calculated for each airline. The total counts were determined for both statuses. Additionally, a bar plot was created to visually compare the arrival delays for the two airlines across different destinations.

Conclusion

Based on the analysis, it appears that Am West has a significantly higher count of on-time arrivals compared to Alaska, especially for the Phoenix destination. However, Am West also has a higher count of delays compared to Alaska. The visualizations provide a clear comparison of the performance of the two airlines across different destinations for the two statuses.

LS0tDQp0aXRsZTogIlRpZHlpbmcgYW5kIFRyYW5zZm9ybWluZyBEYXRhIg0KYXV0aG9yOiAiTUQgQXNhZHVsIElzbGFtIg0KZGF0ZTogImByIFN5cy5EYXRlKClgIg0Kb3V0cHV0OiBvcGVuaW50cm86OmxhYl9yZXBvcnQNCi0tLQ0KDQpgYGB7ciBsb2FkLXBhY2thZ2VzLCBtZXNzYWdlPUZBTFNFfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KG9wZW5pbnRybykNCmxpYnJhcnkodGlkeXIpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KYGBgDQoNCiMjIyBSZWFkIGRhdGEgZnJvbSB0aGUgQ1NWIGZpbGUNCg0KYGBge3IgY29kZS1jaHVuay1sYWJlbH0NCiMgUmVhZCB0aGUgY3N2IGZpbGUNCmRhdGEgPC0gcmVhZC5jc3YoIkM6XFxVc2Vyc1xcSFBcXERvY3VtZW50c1xcYXJyaXZhbCBkZWxheXMgZm9yIHR3byBhaXJsaW5lcy5jc3YiKQ0KcHJpbnQoZGF0YSkNCg0KYGBgDQpUaGUgYWJvdmUgc2VjdGlvbiByZWFkcyBkYXRhIGZyb20gYSBDU1YgZmlsZSBhbmQgaW5zcGVjdHMgaXQgZm9yIGFueSBpbmNvbnNpc3RlbmNpZXMNCiMjIyBUaWR5IHRoZSBkYXRhIHVzaW5nIHRpZHlyIGFuZCBkaXBseXINCg0KYGBge1IgY29kZSBjaHVuayBmb3IgdGlkeWluZyBkYXRhfQ0KdGlkeV9haXJsaW5lX2RhdGEgPC0gZGF0YSAlPiUNCiBwaXZvdF9sb25nZXIoY29scyA9IGMoYExvcy5BbmdlbGVzYCwgUGhvZW5peCwgYFNhbi5EaWVnb2AsIGBTYW4uRnJhbmNpc2NvYCwgU2VhdHRsZSksIA0KICAgICAgICAgICAgICAgbmFtZXNfdG8gPSAiRGVzdGluYXRpb24iLCANCiAgICAgICAgICAgICAgIHZhbHVlc190byA9ICJDb3VudCIpICU+JQ0KICBhcnJhbmdlKEFpcmxpbmUsIFN0YXR1cywgRGVzdGluYXRpb24pDQoNCnByaW50KHRpZHlfYWlybGluZV9kYXRhKQ0KYGBgDQpJbiB0aGlzIHNlY3Rpb24gdGhlIGRhdGEgd2FzIHRpZGllZCB1c2luZyB0aGUgYHRpZHlyYCBhbmQgYGRwbHlyYCBwYWNrYWdlcyBpbiBSLiBUaGUgYHBpdm90X2xvbmdlcmAgZnVuY3Rpb24gd2FzIHVzZWQgdG8gcmVzaGFwZSB0aGUgZGF0YSBpbnRvIGEgbG9uZyBmb3JtYXQsIG1ha2luZyBpdCBlYXNpZXIgdG8gYW5hbHl6ZSBhbmQgdmlzdWFsaXplDQoNCiMjIyBBbmFseXNpcyB0byBDb21wYXJlIHRoZSBBcnJpdmFsIERlbGF5cw0KDQpgYGB7ciBjb2RlIGNodW5rIGZvciBhbmFseXNpc30NCiMgU3VtbWFyaXplIHRoZSBvbi10aW1lIGFuZCBkZWxheWVkIGNvdW50cyBieSBhaXJsaW5lDQpzdW1tYXJ5X2RlbGF5cyA8LSB0aWR5X2FpcmxpbmVfZGF0YSAlPiUNCiAgZ3JvdXBfYnkoQWlybGluZSwgU3RhdHVzKSAlPiUNCiAgc3VtbWFyaXplKFRvdGFsX0NvdW50ID0gc3VtKENvdW50KSkNCnByaW50KHN1bW1hcnlfZGVsYXlzKQ0KDQojIFBsb3QgdGhlIGRlbGF5cw0KZ2dwbG90KHRpZHlfYWlybGluZV9kYXRhLCBhZXMoeCA9IERlc3RpbmF0aW9uLCB5ID0gQ291bnQsIGZpbGwgPSBTdGF0dXMpKSArDQogIGdlb21fYmFyKHN0YXQgPSAiaWRlbnRpdHkiLCBwb3NpdGlvbiA9ICJkb2RnZSIpICsNCiAgZmFjZXRfd3JhcCh+IEFpcmxpbmUpICsNCiAgdGhlbWVfbWluaW1hbCgpICsNCiAgbGFicyh0aXRsZSA9ICJDb21wYXJpc29uIG9mIEFycml2YWwgRGVsYXlzIGJ5IEFpcmxpbmUiLA0KICAgICAgIHggPSAiRGVzdGluYXRpb24iLA0KICAgICAgIHkgPSAiQ291bnQiLA0KICAgICAgIGZpbGwgPSAiU3RhdHVzIikNCg0KYGBgDQoNClRoZSBhYm92ZSBzZWN0aW9uIGhhcyB0aGUgc3VtbWFyeSBzdGF0aXN0aWNzLiBUaGUgc3VtbWFyeSBzdGF0aXN0aWNzIGZvciB0aGUgb24tdGltZSBhbmQgZGVsYXllZCBjb3VudHMgd2VyZSBjYWxjdWxhdGVkIGZvciBlYWNoIGFpcmxpbmUuIFRoZSB0b3RhbCBjb3VudHMgd2VyZSBkZXRlcm1pbmVkIGZvciBib3RoIHN0YXR1c2VzLiBBZGRpdGlvbmFsbHksIGEgYmFyIHBsb3Qgd2FzIGNyZWF0ZWQgdG8gdmlzdWFsbHkgY29tcGFyZSB0aGUgYXJyaXZhbCBkZWxheXMgZm9yIHRoZSB0d28gYWlybGluZXMgYWNyb3NzIGRpZmZlcmVudCBkZXN0aW5hdGlvbnMuDQoNCiMjIyBDb25jbHVzaW9uDQoNCkJhc2VkIG9uIHRoZSBhbmFseXNpcywgaXQgYXBwZWFycyB0aGF0IEFtIFdlc3QgaGFzIGEgc2lnbmlmaWNhbnRseSBoaWdoZXIgY291bnQgb2Ygb24tdGltZSBhcnJpdmFscyBjb21wYXJlZCB0byBBbGFza2EsIGVzcGVjaWFsbHkgZm9yIHRoZSBQaG9lbml4IGRlc3RpbmF0aW9uLiBIb3dldmVyLCBBbSBXZXN0IGFsc28gaGFzIGEgaGlnaGVyIGNvdW50IG9mIGRlbGF5cyBjb21wYXJlZCB0byBBbGFza2EuIFRoZSB2aXN1YWxpemF0aW9ucyBwcm92aWRlIGEgY2xlYXIgY29tcGFyaXNvbiBvZiB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHR3byBhaXJsaW5lcyBhY3Jvc3MgZGlmZmVyZW50IGRlc3RpbmF0aW9ucyBmb3IgdGhlIHR3byBzdGF0dXNlcy4NCg0KLi4uDQoNCg==