##Q1

data(cars)
median_speed <- median(cars$speed)

##Q2

library(readr)
On_Time_Performance <- read_csv("~/Desktop/Data 4310/Mini Project-2 2/On_Time_Performance.csv")
## New names:
## • `` -> `...110`
## Warning: One or more parsing issues, call `problems()` on your data frame for details,
## e.g.:
##   dat <- vroom(...)
##   problems(dat)
## Rows: 570131 Columns: 110
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (28): UniqueCarrier, Carrier, TailNum, Origin, OriginCityName, OriginSt...
## dbl  (54): Year, Quarter, Month, DayofMonth, DayOfWeek, AirlineID, FlightNum...
## lgl  (27): Div2WheelsOff, Div2TailNum, Div3Airport, Div3AirportID, Div3Airpo...
## date  (1): FlightDate
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

##Q3

sum(is.na(On_Time_Performance$Div2WheelsOff))
## [1] 570131

##Q4

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
data <- read.csv("~/Desktop/Data 4310/Mini Project-2 2/On_Time_Performance.csv")
colnames(data)
##   [1] "Year"                 "Quarter"              "Month"               
##   [4] "DayofMonth"           "DayOfWeek"            "FlightDate"          
##   [7] "UniqueCarrier"        "AirlineID"            "Carrier"             
##  [10] "TailNum"              "FlightNum"            "OriginAirportID"     
##  [13] "OriginAirportSeqID"   "OriginCityMarketID"   "Origin"              
##  [16] "OriginCityName"       "OriginState"          "OriginStateFips"     
##  [19] "OriginStateName"      "OriginWac"            "DestAirportID"       
##  [22] "DestAirportSeqID"     "DestCityMarketID"     "Dest"                
##  [25] "DestCityName"         "DestState"            "DestStateFips"       
##  [28] "DestStateName"        "DestWac"              "CRSDepTime"          
##  [31] "DepTime"              "DepDelay"             "DepDelayMinutes"     
##  [34] "DepDel15"             "DepartureDelayGroups" "DepTimeBlk"          
##  [37] "TaxiOut"              "WheelsOff"            "WheelsOn"            
##  [40] "TaxiIn"               "CRSArrTime"           "ArrTime"             
##  [43] "ArrDelay"             "ArrDelayMinutes"      "ArrDel15"            
##  [46] "ArrivalDelayGroups"   "ArrTimeBlk"           "Cancelled"           
##  [49] "CancellationCode"     "Diverted"             "CRSElapsedTime"      
##  [52] "ActualElapsedTime"    "AirTime"              "Flights"             
##  [55] "Distance"             "DistanceGroup"        "CarrierDelay"        
##  [58] "WeatherDelay"         "NASDelay"             "SecurityDelay"       
##  [61] "LateAircraftDelay"    "FirstDepTime"         "TotalAddGTime"       
##  [64] "LongestAddGTime"      "DivAirportLandings"   "DivReachedDest"      
##  [67] "DivActualElapsedTime" "DivArrDelay"          "DivDistance"         
##  [70] "Div1Airport"          "Div1AirportID"        "Div1AirportSeqID"    
##  [73] "Div1WheelsOn"         "Div1TotalGTime"       "Div1LongestGTime"    
##  [76] "Div1WheelsOff"        "Div1TailNum"          "Div2Airport"         
##  [79] "Div2AirportID"        "Div2AirportSeqID"     "Div2WheelsOn"        
##  [82] "Div2TotalGTime"       "Div2LongestGTime"     "Div2WheelsOff"       
##  [85] "Div2TailNum"          "Div3Airport"          "Div3AirportID"       
##  [88] "Div3AirportSeqID"     "Div3WheelsOn"         "Div3TotalGTime"      
##  [91] "Div3LongestGTime"     "Div3WheelsOff"        "Div3TailNum"         
##  [94] "Div4Airport"          "Div4AirportID"        "Div4AirportSeqID"    
##  [97] "Div4WheelsOn"         "Div4TotalGTime"       "Div4LongestGTime"    
## [100] "Div4WheelsOff"        "Div4TailNum"          "Div5Airport"         
## [103] "Div5AirportID"        "Div5AirportSeqID"     "Div5WheelsOn"        
## [106] "Div5TotalGTime"       "Div5LongestGTime"     "Div5WheelsOff"       
## [109] "Div5TailNum"          "X"
avg_delay_by_carrier <- data %>%
  group_by(Carrier) %>%
  summarise(avg_departure_delay = mean(DepDelay, na.rm = TRUE))

avg_delay_by_carrier
## # A tibble: 18 × 2
##    Carrier avg_departure_delay
##    <chr>                 <dbl>
##  1 9E                    12.4 
##  2 AA                     6.93
##  3 AS                    -2.25
##  4 B6                    20.4 
##  5 DL                     9.74
##  6 EV                    13.6 
##  7 F9                    16.0 
##  8 G4                    10.4 
##  9 HA                     1.72
## 10 MQ                     8.82
## 11 NK                     5.61
## 12 OH                    13.8 
## 13 OO                    15.1 
## 14 UA                     5.87
## 15 VX                     2.83
## 16 WN                     8.03
## 17 YV                     8.86
## 18 YX                     7.26
largest_delay_carrier <- avg_delay_by_carrier %>%
  arrange(desc(avg_departure_delay)) %>%
  head(1)

largest_delay_carrier
## # A tibble: 1 × 2
##   Carrier avg_departure_delay
##   <chr>                 <dbl>
## 1 B6                     20.4

##Q5

library(jsonlite)
library(httr)

url <- "https://min-api.cryptocompare.com/data/v2/histoday?fsym=BTC&tsym=USD&limit=100&aggregate=1&toTs=1741281880"
data <- fromJSON(url)
ohlcv_data <- data$Data$Data
close_prices <- ohlcv_data$close
str(close_prices)
##  num [1:101] 91904 95958 95670 97511 96474 ...
close_prices <- as.numeric(close_prices)
max_close_price <- max(close_prices, na.rm = TRUE)
max_close_price
## [1] 106155.6