R Markdown

library(tidyverse)
## -- Attaching packages ------------------------------------------------------------------------------------ tidyverse 1.3.0 --
## v ggplot2 3.3.2     v purrr   0.3.4
## v tibble  3.0.3     v dplyr   1.0.2
## v tidyr   1.1.2     v stringr 1.4.0
## v readr   1.3.1     v forcats 0.5.0
## -- Conflicts --------------------------------------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(dplyr)
library(tidyr)
Flight_Information<-read.csv("https://raw.githubusercontent.com/maliat-hossain/Air-lane-Data-607/main/Flight%20Information1.csv",sep = ",")
Flight_Information
##        X     X.1 Los.Angeles Phoenix San.Diego San.Francisco Seattle
## 1 Alaska On Time         497     221       212           503    1841
## 2        Delayed          62      12        20           102     305
## 3                         NA      NA        NA            NA      NA
## 4 AmWest On Time         694    4840       383           320     201
## 5        Delayed         117     415        65           129      61
colnames(Flight_Information)[1:2] <- c("airline","status") 
Flight_Information[[1]][2] <- Flight_Information[[1]][1] 
Flight_Information[[1]][5] <- Flight_Information[[1]][4] 
Flight_Information
##   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                          NA      NA        NA            NA      NA
## 4  AmWest On Time         694    4840       383           320     201
## 5  AmWest Delayed         117     415        65           129      61
Flight_Information <- gather(Flight_Information,city,number.airlines,Los.Angeles:Seattle)
Flight_Information <- filter(Flight_Information,status!="") 
i <- 1

while(i <= length(Flight_Information$city)) {
  Flight_Information $city[i] <- gsub("\\."," ",Flight_Information $city[i]) 
  Flight_Information $number.airlines[i] <- gsub(",","",Flight_Information$number.airlines[i]) 
  i <- i + 1
} 

Flight_Information $number.airlines <- as.numeric(Flight_Information$number.airlines) 

Flight_Information 
##    airline  status          city number.airlines
## 1   Alaska On Time   Los Angeles             497
## 2   Alaska Delayed   Los Angeles              62
## 3   AmWest On Time   Los Angeles             694
## 4   AmWest Delayed   Los Angeles             117
## 5   Alaska On Time       Phoenix             221
## 6   Alaska Delayed       Phoenix              12
## 7   AmWest On Time       Phoenix            4840
## 8   AmWest Delayed       Phoenix             415
## 9   Alaska On Time     San Diego             212
## 10  Alaska Delayed     San Diego              20
## 11  AmWest On Time     San Diego             383
## 12  AmWest Delayed     San Diego              65
## 13  Alaska On Time San Francisco             503
## 14  Alaska Delayed San Francisco             102
## 15  AmWest On Time San Francisco             320
## 16  AmWest Delayed San Francisco             129
## 17  Alaska On Time       Seattle            1841
## 18  Alaska Delayed       Seattle             305
## 19  AmWest On Time       Seattle             201
## 20  AmWest Delayed       Seattle              61
Flight_Information_Analysis <- Flight_Information %>% group_by(airline,city) %>% summarise(total.airlines = sum(number.airlines)) 
## `summarise()` regrouping output by 'airline' (override with `.groups` argument)
i <- 1
rate.status <- vector()

while(i <= length(Flight_Information$number.airlines)){ 
  ap <- Flight_Information$airline[i]
  ct <- Flight_Information$city[i]
  rate.status[i] <- round(Flight_Information$number.airlines[i]/Flight_Information_Analysis$total.airlines[Flight_Information_Analysis$airline==ap & Flight_Information_Analysis$city == ct],3)
  i <- i + 1 
}

Flight_Information <- cbind(Flight_Information,rate.status)
Flight_Information
##    airline  status          city number.airlines rate.status
## 1   Alaska On Time   Los Angeles             497       0.889
## 2   Alaska Delayed   Los Angeles              62       0.111
## 3   AmWest On Time   Los Angeles             694       0.856
## 4   AmWest Delayed   Los Angeles             117       0.144
## 5   Alaska On Time       Phoenix             221       0.948
## 6   Alaska Delayed       Phoenix              12       0.052
## 7   AmWest On Time       Phoenix            4840       0.921
## 8   AmWest Delayed       Phoenix             415       0.079
## 9   Alaska On Time     San Diego             212       0.914
## 10  Alaska Delayed     San Diego              20       0.086
## 11  AmWest On Time     San Diego             383       0.855
## 12  AmWest Delayed     San Diego              65       0.145
## 13  Alaska On Time San Francisco             503       0.831
## 14  Alaska Delayed San Francisco             102       0.169
## 15  AmWest On Time San Francisco             320       0.713
## 16  AmWest Delayed San Francisco             129       0.287
## 17  Alaska On Time       Seattle            1841       0.858
## 18  Alaska Delayed       Seattle             305       0.142
## 19  AmWest On Time       Seattle             201       0.767
## 20  AmWest Delayed       Seattle              61       0.233
Delayed_Flights<-filter(Flight_Information,status=="Delayed")
Delayed_Flights
##    airline  status          city number.airlines rate.status
## 1   Alaska Delayed   Los Angeles              62       0.111
## 2   AmWest Delayed   Los Angeles             117       0.144
## 3   Alaska Delayed       Phoenix              12       0.052
## 4   AmWest Delayed       Phoenix             415       0.079
## 5   Alaska Delayed     San Diego              20       0.086
## 6   AmWest Delayed     San Diego              65       0.145
## 7   Alaska Delayed San Francisco             102       0.169
## 8   AmWest Delayed San Francisco             129       0.287
## 9   Alaska Delayed       Seattle             305       0.142
## 10  AmWest Delayed       Seattle              61       0.233