This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.
Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Ctrl+Shift+Enter.
# Install and load necessary package
if (!requireNamespace("jsonlite", quietly = TRUE)) install.packages("jsonlite")
library(jsonlite)
# Construct the API URL
url <- "https://min-api.cryptocompare.com/data/v2/histoday?fsym=BTC&tsym=USD&limit=100"
#Fetch and Read
data <- fromJSON(url)
#Extract the Data
prices <- data$Data$Data
max_close_price <- max(prices$close)
print(max_close_price)
[1] 60062.14
install.packages(c("dplyr", "ggplot2", "readr"))
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:
https://cran.rstudio.com/bin/windows/Rtools/
Installing packages into ‘C:/Users/vanka/AppData/Local/R/win-library/4.3’
(as ‘lib’ is unspecified)
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.3/dplyr_1.1.4.zip'
Content type 'application/zip' length 1560080 bytes (1.5 MB)
downloaded 1.5 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.3/ggplot2_3.5.0.zip'
Content type 'application/zip' length 4822730 bytes (4.6 MB)
downloaded 4.6 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.3/readr_2.1.5.zip'
Content type 'application/zip' length 1172531 bytes (1.1 MB)
downloaded 1.1 MB
package ‘dplyr’ successfully unpacked and MD5 sums checked
Warning in install.packages :
cannot remove prior installation of package ‘dplyr’
Warning in install.packages :
problem copying C:\Users\vanka\AppData\Local\R\win-library\4.3\00LOCK\dplyr\libs\x64\dplyr.dll to C:\Users\vanka\AppData\Local\R\win-library\4.3\dplyr\libs\x64\dplyr.dll: Permission denied
Warning in install.packages :
restored ‘dplyr’
package ‘ggplot2’ successfully unpacked and MD5 sums checked
package ‘readr’ successfully unpacked and MD5 sums checked
Warning in install.packages :
cannot remove prior installation of package ‘readr’
Warning in install.packages :
problem copying C:\Users\vanka\AppData\Local\R\win-library\4.3\00LOCK\readr\libs\x64\readr.dll to C:\Users\vanka\AppData\Local\R\win-library\4.3\readr\libs\x64\readr.dll: Permission denied
Warning in install.packages :
restored ‘readr’
The downloaded binary packages are in
C:\Users\vanka\AppData\Local\Temp\Rtmpe4L1Dt\downloaded_packages
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
library(ggplot2)
library(readr)
on_time_performance <- read.csv("On_Time_Performance.csv")
dim(on_time_performance)
[1] 570131 110
str(on_time_performance)
'data.frame': 570131 obs. of 110 variables:
$ Year : int 2018 2018 2018 2018 2018 2018 2018 2018 2018 2018 ...
$ Quarter : int 1 1 1 1 1 1 1 1 1 1 ...
$ Month : int 1 1 1 1 1 1 1 1 1 1 ...
$ DayofMonth : int 16 17 18 19 20 21 22 23 24 25 ...
$ DayOfWeek : int 2 3 4 5 6 7 1 2 3 4 ...
$ FlightDate : chr "2018-01-16" "2018-01-17" "2018-01-18" "2018-01-19" ...
$ UniqueCarrier : chr "AA" "AA" "AA" "AA" ...
$ AirlineID : int 19805 19805 19805 19805 19805 19805 19805 19805 19805 19805 ...
$ Carrier : chr "AA" "AA" "AA" "AA" ...
$ TailNum : chr "N128AN" "N128AN" "N121AN" "N129AA" ...
$ FlightNum : int 228 228 228 228 228 228 228 228 228 228 ...
$ OriginAirportID : int 12892 12892 12892 12892 12892 12892 12892 12892 12892 12892 ...
$ OriginAirportSeqID : int 1289206 1289206 1289206 1289206 1289206 1289206 1289206 1289206 1289206 1289206 ...
$ OriginCityMarketID : int 32575 32575 32575 32575 32575 32575 32575 32575 32575 32575 ...
$ Origin : chr "LAX" "LAX" "LAX" "LAX" ...
$ OriginCityName : chr "Los Angeles, CA" "Los Angeles, CA" "Los Angeles, CA" "Los Angeles, CA" ...
$ OriginState : chr "CA" "CA" "CA" "CA" ...
$ OriginStateFips : int 6 6 6 6 6 6 6 6 6 6 ...
$ OriginStateName : chr "California" "California" "California" "California" ...
$ OriginWac : int 91 91 91 91 91 91 91 91 91 91 ...
$ DestAirportID : int 12173 12173 12173 12173 12173 12173 12173 12173 12173 12173 ...
$ DestAirportSeqID : int 1217303 1217303 1217303 1217303 1217303 1217303 1217303 1217303 1217303 1217303 ...
$ DestCityMarketID : int 32134 32134 32134 32134 32134 32134 32134 32134 32134 32134 ...
$ Dest : chr "HNL" "HNL" "HNL" "HNL" ...
$ DestCityName : chr "Honolulu, HI" "Honolulu, HI" "Honolulu, HI" "Honolulu, HI" ...
$ DestState : chr "HI" "HI" "HI" "HI" ...
$ DestStateFips : int 15 15 15 15 15 15 15 15 15 15 ...
$ DestStateName : chr "Hawaii" "Hawaii" "Hawaii" "Hawaii" ...
$ DestWac : int 2 2 2 2 2 2 2 2 2 2 ...
$ CRSDepTime : int 2011 2011 2011 2011 2011 2011 2011 2011 2011 2011 ...
$ DepTime : int 2010 2003 2008 2010 2001 2003 2003 2011 2122 2007 ...
$ DepDelay : num -1 -8 -3 -1 -10 -8 -8 0 71 -4 ...
$ DepDelayMinutes : num 0 0 0 0 0 0 0 0 71 0 ...
$ DepDel15 : num 0 0 0 0 0 0 0 0 1 0 ...
$ DepartureDelayGroups: int -1 -1 -1 -1 -1 -1 -1 0 4 -1 ...
$ DepTimeBlk : chr "2000-2059" "2000-2059" "2000-2059" "2000-2059" ...
$ TaxiOut : num 24 18 14 17 17 17 24 23 26 18 ...
$ WheelsOff : int 2034 2021 2022 2027 2018 2020 2027 2034 2148 2025 ...
$ WheelsOn : int 2358 2348 6 2352 2352 1 14 2352 125 2357 ...
$ TaxiIn : num 7 5 6 3 5 4 3 14 3 2 ...
$ CRSArrTime : int 29 29 29 29 29 29 29 29 29 29 ...
$ ArrTime : int 5 2353 12 2355 2357 5 17 6 128 2359 ...
$ ArrDelay : num -24 -36 -17 -34 -32 -24 -12 -23 59 -30 ...
$ ArrDelayMinutes : num 0 0 0 0 0 0 0 0 59 0 ...
$ ArrDel15 : num 0 0 0 0 0 0 0 0 1 0 ...
$ ArrivalDelayGroups : int -2 -2 -2 -2 -2 -2 -1 -2 3 -2 ...
$ ArrTimeBlk : chr "0001-0559" "0001-0559" "0001-0559" "0001-0559" ...
$ Cancelled : num 0 0 0 0 0 0 0 0 0 0 ...
$ CancellationCode : chr "" "" "" "" ...
$ Diverted : num 0 0 0 0 0 0 0 0 0 0 ...
$ CRSElapsedTime : num 378 378 378 378 378 378 378 378 378 378 ...
$ ActualElapsedTime : num 355 350 364 345 356 362 374 355 366 352 ...
$ AirTime : num 324 327 344 325 334 341 347 318 337 332 ...
$ Flights : num 1 1 1 1 1 1 1 1 1 1 ...
$ Distance : num 2556 2556 2556 2556 2556 ...
$ DistanceGroup : int 11 11 11 11 11 11 11 11 11 11 ...
$ CarrierDelay : num NA NA NA NA NA NA NA NA 59 NA ...
$ WeatherDelay : num NA NA NA NA NA NA NA NA 0 NA ...
$ NASDelay : num NA NA NA NA NA NA NA NA 0 NA ...
$ SecurityDelay : num NA NA NA NA NA NA NA NA 0 NA ...
$ LateAircraftDelay : num NA NA NA NA NA NA NA NA 0 NA ...
$ FirstDepTime : int NA NA NA NA NA NA NA NA NA NA ...
$ TotalAddGTime : num NA NA NA NA NA NA NA NA NA NA ...
$ LongestAddGTime : num NA NA NA NA NA NA NA NA NA NA ...
$ DivAirportLandings : int 0 0 0 0 0 0 0 0 0 0 ...
$ DivReachedDest : num NA NA NA NA NA NA NA NA NA NA ...
$ DivActualElapsedTime: num NA NA NA NA NA NA NA NA NA NA ...
$ DivArrDelay : num NA NA NA NA NA NA NA NA NA NA ...
$ DivDistance : num NA NA NA NA NA NA NA NA NA NA ...
$ Div1Airport : chr "" "" "" "" ...
$ Div1AirportID : int NA NA NA NA NA NA NA NA NA NA ...
$ Div1AirportSeqID : int NA NA NA NA NA NA NA NA NA NA ...
$ Div1WheelsOn : int NA NA NA NA NA NA NA NA NA NA ...
$ Div1TotalGTime : num NA NA NA NA NA NA NA NA NA NA ...
$ Div1LongestGTime : num NA NA NA NA NA NA NA NA NA NA ...
$ Div1WheelsOff : int NA NA NA NA NA NA NA NA NA NA ...
$ Div1TailNum : chr "" "" "" "" ...
$ Div2Airport : chr "" "" "" "" ...
$ Div2AirportID : int NA NA NA NA NA NA NA NA NA NA ...
$ Div2AirportSeqID : int NA NA NA NA NA NA NA NA NA NA ...
$ Div2WheelsOn : int NA NA NA NA NA NA NA NA NA NA ...
$ Div2TotalGTime : num NA NA NA NA NA NA NA NA NA NA ...
$ Div2LongestGTime : num NA NA NA NA NA NA NA NA NA NA ...
$ Div2WheelsOff : int NA NA NA NA NA NA NA NA NA NA ...
$ Div2TailNum : chr "" "" "" "" ...
$ Div3Airport : logi NA NA NA NA NA NA ...
$ Div3AirportID : logi NA NA NA NA NA NA ...
$ Div3AirportSeqID : logi NA NA NA NA NA NA ...
$ Div3WheelsOn : logi NA NA NA NA NA NA ...
$ Div3TotalGTime : logi NA NA NA NA NA NA ...
$ Div3LongestGTime : logi NA NA NA NA NA NA ...
$ Div3WheelsOff : logi NA NA NA NA NA NA ...
$ Div3TailNum : logi NA NA NA NA NA NA ...
$ Div4Airport : logi NA NA NA NA NA NA ...
$ Div4AirportID : logi NA NA NA NA NA NA ...
$ Div4AirportSeqID : logi NA NA NA NA NA NA ...
$ Div4WheelsOn : logi NA NA NA NA NA NA ...
$ Div4TotalGTime : logi NA NA NA NA NA NA ...
$ Div4LongestGTime : logi NA NA NA NA NA NA ...
[list output truncated]
#Columns with Single Unique Value
sapply(on_time_performance, function(x) length(unique(x)))
Year Quarter Month DayofMonth
1 1 1 31
DayOfWeek FlightDate UniqueCarrier AirlineID
7 31 18 18
Carrier TailNum FlightNum OriginAirportID
18 5261 6966 334
OriginAirportSeqID OriginCityMarketID Origin OriginCityName
334 310 334 328
OriginState OriginStateFips OriginStateName OriginWac
52 52 52 52
DestAirportID DestAirportSeqID DestCityMarketID Dest
334 334 310 334
DestCityName DestState DestStateFips DestStateName
328 52 52 52
DestWac CRSDepTime DepTime DepDelay
52 1214 1404 969
DepDelayMinutes DepDel15 DepartureDelayGroups DepTimeBlk
923 3 16 19
TaxiOut WheelsOff WheelsOn TaxiIn
166 1412 1441 128
CRSArrTime ArrTime ArrDelay ArrDelayMinutes
1338 1441 1003 915
ArrDel15 ArrivalDelayGroups ArrTimeBlk Cancelled
3 16 19 2
CancellationCode Diverted CRSElapsedTime ActualElapsedTime
5 2 454 640
AirTime Flights Distance DistanceGroup
612 1 1399 11
CarrierDelay WeatherDelay NASDelay SecurityDelay
749 494 380 83
LateAircraftDelay FirstDepTime TotalAddGTime LongestAddGTime
484 1033 172 165
DivAirportLandings DivReachedDest DivActualElapsedTime DivArrDelay
4 3 426 393
DivDistance Div1Airport Div1AirportID Div1AirportSeqID
172 188 188 188
Div1WheelsOn Div1TotalGTime Div1LongestGTime Div1WheelsOff
781 130 120 611
Div1TailNum Div2Airport Div2AirportID Div2AirportSeqID
819 25 25 25
Div2WheelsOn Div2TotalGTime Div2LongestGTime Div2WheelsOff
30 20 18 10
Div2TailNum Div3Airport Div3AirportID Div3AirportSeqID
10 1 1 1
Div3WheelsOn Div3TotalGTime Div3LongestGTime Div3WheelsOff
1 1 1 1
Div3TailNum Div4Airport Div4AirportID Div4AirportSeqID
1 1 1 1
Div4WheelsOn Div4TotalGTime Div4LongestGTime Div4WheelsOff
1 1 1 1
Div4TailNum Div5Airport Div5AirportID Div5AirportSeqID
1 1 1 1
Div5WheelsOn Div5TotalGTime Div5LongestGTime Div5WheelsOff
1 1 1 1
Div5TailNum X
1 1
#Finding NA Values
colSums(is.na(on_time_performance))
Year Quarter Month DayofMonth
0 0 0 0
DayOfWeek FlightDate UniqueCarrier AirlineID
0 0 0 0
Carrier TailNum FlightNum OriginAirportID
0 0 0 0
OriginAirportSeqID OriginCityMarketID Origin OriginCityName
0 0 0 0
OriginState OriginStateFips OriginStateName OriginWac
0 0 0 0
DestAirportID DestAirportSeqID DestCityMarketID Dest
0 0 0 0
DestCityName DestState DestStateFips DestStateName
0 0 0 0
DestWac CRSDepTime DepTime DepDelay
0 0 16826 17332
DepDelayMinutes DepDel15 DepartureDelayGroups DepTimeBlk
17332 17332 17332 0
TaxiOut WheelsOff WheelsOn TaxiIn
17072 17066 17540 17540
CRSArrTime ArrTime ArrDelay ArrDelayMinutes
0 17540 18626 18626
ArrDel15 ArrivalDelayGroups ArrTimeBlk Cancelled
18626 18626 0 0
CancellationCode Diverted CRSElapsedTime ActualElapsedTime
0 0 0 18424
AirTime Flights Distance DistanceGroup
18424 0 0 0
CarrierDelay WeatherDelay NASDelay SecurityDelay
472365 472365 472365 472365
LateAircraftDelay FirstDepTime TotalAddGTime LongestAddGTime
472365 566815 566815 566815
DivAirportLandings DivReachedDest DivActualElapsedTime DivArrDelay
0 568876 569247 569247
DivDistance Div1Airport Div1AirportID Div1AirportSeqID
568876 0 568773 568773
Div1WheelsOn Div1TotalGTime Div1LongestGTime Div1WheelsOff
568773 568773 568773 569227
Div1TailNum Div2Airport Div2AirportID Div2AirportSeqID
0 0 570102 570102
Div2WheelsOn Div2TotalGTime Div2LongestGTime Div2WheelsOff
570102 570102 570102 570122
Div2TailNum Div3Airport Div3AirportID Div3AirportSeqID
0 570131 570131 570131
Div3WheelsOn Div3TotalGTime Div3LongestGTime Div3WheelsOff
570131 570131 570131 570131
Div3TailNum Div4Airport Div4AirportID Div4AirportSeqID
570131 570131 570131 570131
Div4WheelsOn Div4TotalGTime Div4LongestGTime Div4WheelsOff
570131 570131 570131 570131
Div4TailNum Div5Airport Div5AirportID Div5AirportSeqID
570131 570131 570131 570131
Div5WheelsOn Div5TotalGTime Div5LongestGTime Div5WheelsOff
570131 570131 570131 570131
Div5TailNum X
570131 570131
average_delay_by_airline <- on_time_performance %>%
group_by(UniqueCarrier) %>%
summarise(Average_Departure_Delay = mean(DepDelay, na.rm = TRUE)) %>%
arrange(desc(Average_Departure_Delay))
print(average_delay_by_airline)
ggplot(average_delay_by_airline, aes(x = reorder(UniqueCarrier, -Average_Departure_Delay), y = Average_Departure_Delay)) +
geom_bar(stat = "identity") +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
labs(x = "Airline", y = "Average Departure Delay (minutes)", title = "Average Departure Delay by Airline")
Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.
When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).
The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.