library(lubridate)
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
library(RColorBrewer)
citibike.May21.sample <- read.csv("~/Downloads/citibike.May21.sample.csv")
Let’s look at how to rename a dataframe to make it easy for us
city <- citibike.May21.sample
rm(citibike.May21.sample)
Attaching the data frame so that we no longer need to refer every attribute by typing city$
attach(city)
Let’s look at the names of the attributes/colnames
names(city)
## [1] "X" "ride_id" "rideable_type"
## [4] "started_at" "ended_at" "start_station_name"
## [7] "start_station_id" "end_station_name" "end_station_id"
## [10] "start_lat" "start_lng" "end_lat"
## [13] "end_lng" "member_casual"
Let’s look at the shape of the data at hand
dim(city) #no of columns and rows
## [1] 500 14
summary(city)
## X ride_id rideable_type started_at
## Min. : 1.0 Length:500 Length:500 Length:500
## 1st Qu.:125.8 Class :character Class :character Class :character
## Median :250.5 Mode :character Mode :character Mode :character
## Mean :250.5
## 3rd Qu.:375.2
## Max. :500.0
##
## ended_at start_station_name start_station_id end_station_name
## Length:500 Length:500 Min. :3275 Length:500
## Class :character Class :character 1st Qu.:5287 Class :character
## Mode :character Mode :character Median :6030 Mode :character
## Mean :6002
## 3rd Qu.:6763
## Max. :8358
##
## end_station_id start_lat start_lng end_lat
## Min. :3117 Min. :40.65 Min. :-74.02 Min. :40.64
## 1st Qu.:5301 1st Qu.:40.71 1st Qu.:-73.99 1st Qu.:40.71
## Median :5972 Median :40.74 Median :-73.98 Median :40.74
## Mean :6032 Mean :40.74 Mean :-73.97 Mean :40.74
## 3rd Qu.:6873 3rd Qu.:40.76 3rd Qu.:-73.96 3rd Qu.:40.77
## Max. :8532 Max. :40.85 Max. :-73.89 Max. :40.86
## NA's :2 NA's :2
## end_lng member_casual
## Min. :-74.02 Length:500
## 1st Qu.:-73.99 Class :character
## Median :-73.98 Mode :character
## Mean :-73.98
## 3rd Qu.:-73.96
## Max. :-73.89
## NA's :2
head(city,10)
## X ride_id rideable_type started_at ended_at
## 1 382 FE9DCC1B48B6FC29 docked_bike 2021-05-01 03:49:57 2021-05-01 03:58:58
## 2 476 EC2B2DD1019988CC docked_bike 2021-05-01 08:10:37 2021-05-01 08:17:20
## 3 324 0DAB0702773E13D7 docked_bike 2021-05-01 09:35:37 2021-05-01 09:38:07
## 4 271 1127C6CF5A8F7326 docked_bike 2021-05-01 14:09:16 2021-05-01 14:47:46
## 5 115 C16A20472BC0097B docked_bike 2021-05-01 14:50:20 2021-05-01 15:01:39
## 6 336 A7FADE504F168DCE docked_bike 2021-05-01 15:52:47 2021-05-01 16:07:34
## 7 383 22831415FA588BBD docked_bike 2021-05-01 16:08:25 2021-05-01 16:25:49
## 8 409 28BFBCE54E3F46A3 docked_bike 2021-05-01 17:13:31 2021-05-01 17:32:37
## 9 193 68406CCC12414FBC docked_bike 2021-05-01 17:35:39 2021-05-01 18:13:43
## 10 265 9230D6CA4EFB1C8A docked_bike 2021-05-01 17:45:06 2021-05-01 18:30:22
## start_station_name start_station_id
## 1 Willis Ave & Bruckner Blvd 7691.05
## 2 4 Ave & E 12 St 5788.15
## 3 Franklin St & Dupont St 5944.01
## 4 28 St & 41 Ave 6462.19
## 5 E 58 St & Madison Ave 6839.04
## 6 Mercer St & Bleecker St 5679.05
## 7 Thompson St & Bleecker St 5721.07
## 8 Fulton St & Clermont Ave 4386.05
## 9 Clinton St & Centre St 4045.01
## 10 5 Ave & E 93 St 7372.10
## end_station_name end_station_id start_lat start_lng
## 1 Adam Clayton Powell Blvd & W 132 St 7814.01 40.80570 -73.92518
## 2 W 21 St & 6 Ave 6140.05 40.73265 -73.99011
## 3 India St Pier 5794.05 40.73564 -73.95866
## 4 5 Ave & E 93 St 7372.10 40.75105 -73.93797
## 5 W 53 St & 10 Ave 6890.01 40.76302 -73.97209
## 6 S 4 St & Rodney St 5156.05 40.72706 -73.99662
## 7 Mercer St & Bleecker St 5679.05 40.72840 -73.99969
## 8 24 St & 5 Ave 3555.04 40.68416 -73.96922
## 9 Central Ave & Melrose St 4832.07 40.67434 -74.00195
## 10 5 Ave & E 93 St 7372.10 40.78578 -73.95748
## end_lat end_lng member_casual
## 1 40.81354 -73.94521 casual
## 2 40.74174 -73.99416 member
## 3 40.73173 -73.96124 member
## 4 40.78579 -73.95748 casual
## 5 40.76670 -73.99062 member
## 6 40.70934 -73.95608 casual
## 7 40.72706 -73.99662 casual
## 8 40.65955 -73.99507 member
## 9 40.70112 -73.93039 member
## 10 40.78579 -73.95748 member
str(city)
## 'data.frame': 500 obs. of 14 variables:
## $ X : int 382 476 324 271 115 336 383 409 193 265 ...
## $ ride_id : chr "FE9DCC1B48B6FC29" "EC2B2DD1019988CC" "0DAB0702773E13D7" "1127C6CF5A8F7326" ...
## $ rideable_type : chr "docked_bike" "docked_bike" "docked_bike" "docked_bike" ...
## $ started_at : chr "2021-05-01 03:49:57" "2021-05-01 08:10:37" "2021-05-01 09:35:37" "2021-05-01 14:09:16" ...
## $ ended_at : chr "2021-05-01 03:58:58" "2021-05-01 08:17:20" "2021-05-01 09:38:07" "2021-05-01 14:47:46" ...
## $ start_station_name: chr "Willis Ave & Bruckner Blvd" "4 Ave & E 12 St" "Franklin St & Dupont St" "28 St & 41 Ave" ...
## $ start_station_id : num 7691 5788 5944 6462 6839 ...
## $ end_station_name : chr "Adam Clayton Powell Blvd & W 132 St" "W 21 St & 6 Ave" "India St Pier" "5 Ave & E 93 St" ...
## $ end_station_id : num 7814 6140 5794 7372 6890 ...
## $ start_lat : num 40.8 40.7 40.7 40.8 40.8 ...
## $ start_lng : num -73.9 -74 -74 -73.9 -74 ...
## $ end_lat : num 40.8 40.7 40.7 40.8 40.8 ...
## $ end_lng : num -73.9 -74 -74 -74 -74 ...
## $ member_casual : chr "casual" "member" "member" "casual" ...
Let’s take a deeper dive
unique(rideable_type)
## [1] "docked_bike"
Since rideable_type is offering no information, we can say it’s redundant in our dataset and can be removed
Removing the unwanted columns from our dataset
city<-city[,-3]
head(city,1)
## X ride_id started_at ended_at
## 1 382 FE9DCC1B48B6FC29 2021-05-01 03:49:57 2021-05-01 03:58:58
## start_station_name start_station_id
## 1 Willis Ave & Bruckner Blvd 7691.05
## end_station_name end_station_id start_lat start_lng
## 1 Adam Clayton Powell Blvd & W 132 St 7814.01 40.8057 -73.92518
## end_lat end_lng member_casual
## 1 40.81354 -73.94521 casual
class(started_at)
## [1] "character"
It’s character so let’s change that to timestamp type so that we can find the duration of the ride
city$started_at<-as.POSIXct(started_at)
city$ended_at<-as.POSIXct(ended_at)
class(city$started_at)
## [1] "POSIXct" "POSIXt"
unclass(city$started_at) #See how it's actually stored inside, classes can be thought of as containers
## [1] 1619855397 1619871037 1619876137 1619892556 1619895020 1619898767
## [7] 1619899705 1619903611 1619904939 1619905506 1619906238 1619916738
## [13] 1619928390 1619967830 1619968113 1619971034 1619980860 1619983300
## [19] 1619988389 1619988429 1620003805 1620044191 1620044435 1620046022
## [25] 1620046907 1620048651 1620049928 1620050052 1620054453 1620070933
## [31] 1620073934 1620074889 1620075411 1620076574 1620079866 1620087419
## [37] 1620128796 1620131346 1620145504 1620152822 1620154646 1620155125
## [43] 1620157465 1620161037 1620164766 1620165494 1620165654 1620166084
## [49] 1620166810 1620167868 1620171335 1620187453 1620214470 1620215989
## [55] 1620224006 1620225164 1620236923 1620247731 1620247974 1620250530
## [61] 1620253713 1620265601 1620266617 1620272851 1620298514 1620301137
## [67] 1620302574 1620302759 1620310142 1620316379 1620323094 1620323673
## [73] 1620325141 1620325369 1620326176 1620327278 1620327607 1620331934
## [79] 1620334367 1620335847 1620336329 1620336431 1620338327 1620339085
## [85] 1620346044 1620347393 1620349703 1620352651 1620356071 1620386426
## [91] 1620390882 1620399116 1620401176 1620403065 1620405058 1620411937
## [97] 1620412637 1620413332 1620415042 1620415509 1620416362 1620419327
## [103] 1620424315 1620432043 1620447108 1620463819 1620498694 1620500367
## [109] 1620509624 1620510370 1620512354 1620516561 1620519068 1620523448
## [115] 1620532079 1620536509 1620544292 1620564386 1620567989 1620581995
## [121] 1620583238 1620583827 1620584131 1620586090 1620611129 1620617167
## [127] 1620626985 1620647661 1620652406 1620653547 1620653571 1620654060
## [133] 1620654611 1620660893 1620677062 1620681229 1620684079 1620685724
## [139] 1620686430 1620686824 1620687236 1620688711 1620689086 1620691904
## [145] 1620732483 1620734373 1620755373 1620760326 1620767637 1620767954
## [151] 1620775848 1620775931 1620779018 1620780295 1620783148 1620784462
## [157] 1620802252 1620818121 1620826570 1620832321 1620839931 1620842416
## [163] 1620842658 1620844297 1620845924 1620851450 1620851684 1620851796
## [169] 1620855758 1620858695 1620859651 1620864740 1620878123 1620900221
## [175] 1620903555 1620907741 1620918525 1620920809 1620932186 1620935576
## [181] 1620940396 1620944659 1620945704 1620947318 1620952610 1620953159
## [187] 1620961359 1620965863 1620993975 1620998482 1621005294 1621008359
## [193] 1621014695 1621015386 1621018188 1621019084 1621021369 1621021605
## [199] 1621024586 1621029476 1621035573 1621039087 1621049610 1621083473
## [205] 1621087942 1621091278 1621093294 1621094115 1621094387 1621094403
## [211] 1621098027 1621098913 1621102924 1621105122 1621105705 1621106991
## [217] 1621107142 1621107910 1621108020 1621108924 1621109098 1621111411
## [223] 1621117575 1621118576 1621121576 1621133622 1621134417 1621136037
## [229] 1621146309 1621169050 1621171300 1621172099 1621176514 1621177866
## [235] 1621177926 1621178929 1621179670 1621179742 1621184511 1621185726
## [241] 1621187737 1621197462 1621198034 1621198909 1621199952 1621200852
## [247] 1621201304 1621206392 1621206632 1621207885 1621216055 1621242538
## [253] 1621263482 1621264238 1621270075 1621274464 1621278050 1621279358
## [259] 1621281122 1621281822 1621282788 1621282851 1621286024 1621286255
## [265] 1621287447 1621287527 1621290281 1621290331 1621311062 1621335129
## [271] 1621338850 1621349663 1621354602 1621356553 1621359232 1621362837
## [277] 1621362970 1621364456 1621365943 1621368062 1621368595 1621370062
## [283] 1621370718 1621371606 1621371979 1621372746 1621372940 1621373348
## [289] 1621374867 1621375320 1621376351 1621383383 1621383542 1621385412
## [295] 1621386527 1621388373 1621427565 1621429886 1621430169 1621443805
## [301] 1621448690 1621448847 1621451492 1621453555 1621456561 1621457228
## [307] 1621459630 1621462045 1621463314 1621464255 1621464296 1621465822
## [313] 1621471849 1621472235 1621514875 1621515139 1621517151 1621524845
## [319] 1621536026 1621537775 1621545942 1621548938 1621555024 1621558275
## [325] 1621563639 1621571086 1621592624 1621600714 1621607422 1621610465
## [331] 1621611447 1621612172 1621612254 1621616660 1621617606 1621622943
## [337] 1621628230 1621628506 1621628807 1621628850 1621628852 1621632264
## [343] 1621632807 1621633075 1621634248 1621635201 1621635955 1621638079
## [349] 1621638501 1621640811 1621650009 1621668880 1621703811 1621712261
## [355] 1621714722 1621714844 1621715672 1621716638 1621716724 1621722294
## [361] 1621724732 1621725067 1621726333 1621728575 1621732294 1621734629
## [367] 1621743449 1621749709 1621750738 1621754302 1621757159 1621771203
## [373] 1621778391 1621782713 1621784354 1621785322 1621787862 1621788111
## [379] 1621789418 1621793478 1621800294 1621802300 1621803903 1621806631
## [385] 1621807068 1621808815 1621809994 1621810785 1621811300 1621817561
## [391] 1621818729 1621822864 1621827850 1621859446 1621872746 1621889021
## [397] 1621889187 1621889360 1621891436 1621892177 1621898663 1621917731
## [403] 1621944742 1621947828 1621948430 1621950024 1621956088 1621964762
## [409] 1621965450 1621965638 1621966402 1621969444 1621970365 1621971617
## [415] 1621972675 1621976657 1621977731 1621978032 1621979917 1621980861
## [421] 1621980946 1621981680 1621982494 1621985893 1621988706 1621994873
## [427] 1621998865 1622001145 1622027590 1622031732 1622035194 1622037738
## [433] 1622047706 1622053564 1622054580 1622057284 1622063134 1622064761
## [439] 1622068251 1622076228 1622084500 1622086316 1622113952 1622116282
## [445] 1622119914 1622121123 1622123161 1622131537 1622132123 1622133375
## [451] 1622136874 1622142463 1622145156 1622145430 1622145998 1622147523
## [457] 1622148593 1622149283 1622150217 1622151372 1622155458 1622156056
## [463] 1622164905 1622167445 1622169867 1622170959 1622174942 1622190780
## [469] 1622199391 1622203496 1622206428 1622219206 1622221771 1622230338
## [475] 1622230341 1622235328 1622294215 1622304939 1622330908 1622332298
## [481] 1622341362 1622362258 1622375724 1622422901 1622430429 1622472277
## [487] 1622472464 1622477819 1622479406 1622489504 1622491414 1622491647
## [493] 1622492736 1622493404 1622493622 1622494896 1622495998 1622496197
## [499] 1622498895 1622508409
## attr(,"tzone")
## [1] ""
detach(city)
city$duration <- as.integer(city$ended_at-city$started_at)
head(city[,c(3,4,14)])
## started_at ended_at duration
## 1 2021-05-01 03:49:57 2021-05-01 03:58:58 541
## 2 2021-05-01 08:10:37 2021-05-01 08:17:20 403
## 3 2021-05-01 09:35:37 2021-05-01 09:38:07 150
## 4 2021-05-01 14:09:16 2021-05-01 14:47:46 2310
## 5 2021-05-01 14:50:20 2021-05-01 15:01:39 679
## 6 2021-05-01 15:52:47 2021-05-01 16:07:34 887
table(city$start_station_name)
##
## 1 Ave & E 18 St
## 1
## 1 Ave & E 30 St
## 2
## 1 Ave & E 39 St
## 3
## 1 Ave & E 62 St
## 3
## 1 Ave & E 68 St
## 3
## 10 Ave & W 28 St
## 1
## 11 Ave & W 27 St
## 4
## 11 Ave & W 41 St
## 2
## 11 Ave & W 59 St
## 1
## 12 Ave & W 125 St
## 1
## 12 Ave & W 40 St
## 1
## 2 Ave & E 29 St
## 1
## 2 Ave & E 31 St
## 1
## 2 Ave & E 55 St
## 1
## 2 Ave & E 72 St
## 1
## 21 St & 43 Ave
## 1
## 24 Ave & 26 St
## 1
## 27 St & Hunter St
## 2
## 28 St & 36 Ave
## 1
## 28 St & 41 Ave
## 1
## 3 St & 7 Ave
## 1
## 3 St & Hoyt St
## 1
## 31 St & Astoria Blvd
## 1
## 31 St & Broadway
## 1
## 31 St & Thomson Ave
## 1
## 34 St & 5 Ave
## 1
## 35 St & Broadway
## 1
## 36 St & 3 Ave
## 1
## 4 Ave & 3 St
## 1
## 4 Ave & 9 St
## 1
## 4 Ave & E 12 St
## 3
## 41 St & 4 Ave
## 1
## 44 Dr & Jackson Ave
## 1
## 44 St & 3 Ave
## 1
## 45 St & 4 Ave
## 1
## 46 Ave & 5 St
## 1
## 5 Av & W 139 St
## 1
## 5 Ave & E 103 St
## 2
## 5 Ave & E 29 St
## 1
## 5 Ave & E 72 St
## 3
## 5 Ave & E 78 St
## 2
## 5 Ave & E 93 St
## 2
## 5 Ave & W 131 St
## 1
## 5 St & 6 Ave
## 1
## 50 St & Northern Blvd
## 1
## 6 Ave & 12 St
## 1
## 6 Ave & Canal St
## 1
## 6 Ave & W 33 St
## 2
## 6 Ave & W 34 St
## 2
## 6 Ave & W 45 St
## 1
## 7 Ave & Park Pl
## 1
## 7 St & 3 Ave
## 1
## 7 St & 5 Ave
## 1
## 8 Ave & W 16 St
## 1
## 8 Ave & W 27 St
## 1
## 8 Ave & W 33 St
## 1
## 8 Ave & W 52 St
## 2
## 9 Ave & W 18 St
## 1
## 9 Ave & W 22 St
## 1
## Adam Clayton Powell Blvd & W 115 St
## 1
## Adam Clayton Powell Blvd & W 132 St
## 1
## Adam Clayton Powell Blvd & W 138 St
## 1
## Albany Ave & Fulton St
## 1
## Allen St & Hester St
## 1
## Allen St & Rivington St
## 1
## Amsterdam Ave & W 167 St
## 1
## Amsterdam Ave & W 73 St
## 2
## Amsterdam Ave & W 82 St
## 1
## Atlantic Ave & Furman St
## 2
## Avenue C & E 18 St
## 1
## Avenue D & E 3 St
## 1
## Baltic St & 5 Ave
## 1
## Bank St & Hudson St
## 2
## Bank St & Washington St
## 2
## Barclay St & Church St
## 1
## Barrow St & Hudson St
## 1
## Bayard St & Baxter St
## 2
## Beck St & Leggett Ave
## 1
## Bedford Ave & S 9 St
## 1
## Bergen St & Flatbush Ave
## 1
## Bergen St & Smith St
## 1
## Bergen St & Vanderbilt Ave
## 2
## Bond St & Bergen St
## 1
## Broad St & Bridge St
## 1
## Broadway & Battery Pl
## 1
## Broadway & E 14 St
## 2
## Broadway & W 131 St
## 1
## Broadway & W 165 St
## 1
## Broadway & W 25 St
## 2
## Broadway & W 36 St
## 1
## Broadway & W 41 St
## 3
## Broadway & W 51 St
## 1
## Broadway & W 60 St
## 2
## Brook Ave & E 157 St
## 1
## Bruckner Blvd & Bryant Ave
## 1
## Bushwick Ave & Powers St
## 1
## Cadman Plaza E & Tillary St
## 3
## Canal St & Rutgers St
## 1
## Carlton Ave & Flushing Ave
## 1
## Carmine St & 6 Ave
## 1
## Carroll St & 6 Ave
## 1
## Carroll St & Bond St
## 1
## Carroll St & Columbia St
## 1
## Central Ave & Flushing Ave
## 2
## Central Park North & Adam Clayton Powell Blvd
## 1
## Central Park S & 6 Ave
## 1
## Central Park W & W 103 St
## 1
## Central Park W & W 97 St
## 1
## Central Park West & W 68 St
## 1
## Central Park West & W 72 St
## 3
## Central Park West & W 76 St
## 1
## Central Park West & W 85 St
## 2
## Centre St & Chambers St
## 1
## Cherry St
## 1
## Clark St & Henry St
## 1
## Cleveland Pl & Spring St
## 1
## Clinton St & Centre St
## 1
## Clinton St\\t& Cherry St
## 1
## Columbus Ave & W 72 St
## 2
## Columbus Ave & W 95 St
## 1
## Concord St & Bridge St
## 1
## Congress St & Clinton St
## 1
## Court St & State St
## 1
## Crescent St & 30 Ave
## 2
## DeKalb Ave & Franklin Ave
## 1
## DeKalb Ave & S Portland Ave
## 1
## Devoe St & Morgan Ave
## 1
## Ditmars Blvd & 19 St
## 1
## Division Ave & Hooper St
## 1
## Dwight St & Van Dyke St
## 1
## E 10 St & Avenue A
## 2
## E 102 St & 1 Ave
## 1
## E 109 St & 3 Ave
## 1
## E 11 St & 1 Ave
## 1
## E 11 St & 2 Ave
## 1
## E 11 St & Avenue B
## 2
## E 114 St & 1 Ave
## 1
## E 116 St & 2 Ave
## 1
## E 118 St & 1 Ave
## 1
## E 12 St & 3 Ave
## 2
## E 13 St & 2 Ave
## 2
## E 13 St & Avenue A
## 2
## E 138 St & Canal St W
## 1
## E 15 St & 3 Ave
## 2
## E 16 St & Irving Pl
## 1
## E 161 St & River Ave
## 2
## E 17 St & Broadway
## 1
## E 19 St & 3 Ave
## 1
## E 2 St & 2 Ave
## 1
## E 2 St & Avenue A
## 2
## E 2 St & Avenue C
## 1
## E 20 St & 2 Ave
## 1
## E 20 St & Park Ave
## 1
## E 25 St & 2 Ave
## 2
## E 27 St & Park Ave S
## 2
## E 30 St & Park Ave S
## 1
## E 31 St & 3 Ave
## 1
## E 33 St & 1 Ave
## 3
## E 33 St & 5 Ave
## 1
## E 39 St & Lexington Ave
## 1
## E 4 St & 2 Ave
## 1
## E 40 St & 5 Ave
## 1
## E 47 St & 1 Ave
## 1
## E 47 St & 2 Ave
## 2
## E 48 St & 3 Ave
## 1
## E 48 St & 5 Ave
## 1
## E 53 St & Madison Ave
## 1
## E 56 St & 3 Ave
## 4
## E 58 St & 1 Ave (NW Corner)
## 2
## E 58 St & 3 Ave
## 2
## E 58 St & Madison Ave
## 1
## E 6 St & Avenue B
## 1
## E 6 St & Avenue D
## 4
## E 63 St & 3 Ave
## 1
## E 68 St & 3 Ave
## 1
## E 68 St & Madison Ave
## 1
## E 7 St & Avenue A
## 1
## E 78 St & 2 Ave
## 1
## E 82 St & East End Ave
## 1
## E 85 St & 3 Ave
## 1
## E 85 St & York Ave
## 1
## E 88 St & 1 Ave
## 1
## E 89 St & York Ave
## 1
## E 93 St & 2 Ave
## 2
## E 97 St & Madison Ave
## 1
## Eastern Pkwy & Washington Ave
## 1
## Edgecombe Ave & W 141 St
## 2
## Edgecombe Ave & W 145 St
## 1
## Fairview Ave & Linden St
## 2
## FDR Drive & E 35 St
## 4
## Franklin St & Dupont St
## 2
## Frederick Douglass Blvd & W 115 St
## 2
## Freeman St & Southern Blvd
## 1
## Front St & Washington St
## 2
## Frost St & Meeker Ave
## 1
## Fulton St & Broadway
## 1
## Fulton St & Clermont Ave
## 1
## Fulton St & Utica Ave
## 1
## Fulton St & William St
## 1
## Grand Army Plaza & Central Park S
## 1
## Grand Ave & Bergen St
## 1
## Grand Concourse & E 167 St
## 1
## Grand Concourse & E 171 St
## 1
## Grand St & Havemeyer St
## 1
## Greene Ave & Nostrand Ave
## 1
## Greenwich Ave & 8 Ave
## 2
## Greenwich Ave & Charles St
## 1
## Greenwich St & Hubert St
## 2
## Greenwich St & Perry St
## 1
## Greenwood Ave & E 4 St
## 1
## Grove St & Broadway
## 1
## Halsey St & Tompkins Ave
## 1
## Harlem River Dr & W 155 St
## 2
## Henry St & Atlantic Ave
## 1
## Henry St & Grand St
## 1
## Hicks St & Montague St
## 1
## Hudson St & Reade St
## 1
## Hudson St & W 13 St
## 1
## India St & Manhattan Ave
## 4
## India St Pier
## 1
## Irving Ave & Jefferson St
## 1
## Irving Ave & Palmetto St
## 1
## Jay St & York St
## 1
## John St & William St
## 1
## Johnson St & Gold St
## 1
## Kane St & Clinton St
## 1
## Kent Ave & N 7 St
## 2
## Kent Ave & S 11 St
## 1
## Kent St & McGuinness Blvd
## 1
## Kingston Ave & Herkimer St
## 1
## Lafayette Ave & St James Pl
## 1
## Lafayette St & E 8 St
## 1
## Lafayette St & Jersey St
## 3
## LaGuardia Pl & W 3 St
## 2
## Laight St & Hudson St
## 1
## Lawrence St & Willoughby St
## 2
## Lenox Ave & W 111 St
## 1
## Lenox Ave & W 140 St
## 1
## Lenox Ave & W 144 St
## 1
## Leonard St & Church St
## 1
## Lexington Ave & E 29 St
## 3
## Lexington Ave & E 36 St
## 1
## Lincoln Ave & E 134 St
## 1
## Lispenard St & Broadway
## 1
## Little West St & 1 Pl
## 2
## MacDougal St & Prince St
## 1
## Madison Ave & E 82 St
## 1
## Madison St & Montgomery St
## 1
## McKibbin St & Manhattan Ave
## 1
## Menahan St & Central Ave
## 1
## Menahan St & Onderdonk Ave
## 1
## Mercer St & Bleecker St
## 2
## Metropolitan Ave & Meeker Ave
## 1
## Milton St & Franklin St
## 1
## Monroe St & Tompkins Ave
## 1
## Mott St & Prince St
## 1
## Murray St & Greenwich St
## 1
## N 15 St & Wythe Ave
## 1
## N 6 St & Bedford Ave
## 1
## Nassau Ave & Russell St
## 1
## Nelson Ave & W 172 St
## 1
## Norfolk St & Broome St
## 1
## Old Fulton St
## 2
## Old Slip & South St
## 1
## Parade Pl & Crooke Ave
## 1
## Park Ave & Marcus Garvey Blvd
## 1
## Perry St & Bleecker St
## 1
## Pershing Square North
## 2
## Pier 40 - Hudson River Park
## 1
## Pike St & E Broadway
## 1
## Pioneer St & Richards St
## 1
## Pioneer St & Van Brunt St
## 1
## Pitt St & Stanton St
## 1
## Pleasant Ave & E 116 St
## 2
## President St & Henry St
## 1
## Prospect Park SW & 10 Ave
## 1
## Prospect Park West & 8 St
## 2
## Queens Plaza North & Crescent St
## 1
## Riverside Blvd & W 67 St
## 1
## Riverside Dr & W 72 St
## 1
## Riverside Dr & W 82 St
## 1
## S 4 St & Wythe Ave
## 4
## S Portland Ave & Hanson Pl
## 1
## Sharon St & Olive St
## 1
## Sheridan Ave & E 168 St
## 1
## South St & Gouverneur Ln
## 2
## South St & Whitehall St
## 4
## Southern Blvd & E 149 St
## 1
## Spring St & Hudson St
## 1
## St Marks Pl & 1 Ave
## 4
## St Marks Pl & 2 Ave
## 2
## St Marks Pl & 4 Ave
## 1
## St Nicholas Ave & W 134 St
## 2
## St. Ann's Av & Bruckner Blvd
## 1
## St. Nicholas Ave & W 157 St
## 1
## Stagg St & Union Ave
## 1
## Stanhope St & Fairview Ave
## 1
## Stanton St & Chrystie St
## 2
## Stanton St & Mangin St
## 2
## Stanton St & Norfolk St
## 2
## Stuyvesant Walk & 1 Av Loop
## 1
## Sullivan St & Washington Sq
## 1
## Sunken Meadow Comfort Station
## 1
## Suydam St & Knickerbocker Ave
## 1
## Thompson St & Bleecker St
## 1
## Throop Ave & Myrtle Ave
## 1
## Tinton Ave & E 165 St
## 1
## Union Ave & N 12 St
## 2
## Union St & Bedford Ave
## 1
## University Pl & E 14 St
## 1
## University Pl & E 8 St
## 3
## Van Brunt St & Wolcott St
## 1
## Vernon Blvd & 41 Rd
## 1
## Vesey Pl & River Terrace
## 3
## W 100 St & Manhattan Ave
## 1
## W 110 St & Amsterdam Ave
## 2
## W 113 St & Broadway
## 1
## W 129 St & Convent Ave
## 1
## W 13 St & 7 Ave
## 2
## W 15 St & 10 Ave
## 1
## W 15 St & 7 Ave
## 2
## W 159 St & Edgecombe Ave
## 1
## W 16 St & The High Line
## 2
## W 18 St & 6 Ave
## 1
## W 180 St & Ft Washington Ave
## 1
## W 20 St & 10 Ave
## 1
## W 20 St & 7 Ave
## 1
## W 21 St & 6 Ave
## 2
## W 22 St & 10 Ave
## 2
## W 22 St & 8 Ave
## 2
## W 25 St & 6 Ave
## 1
## W 26 St & 10 Ave
## 1
## W 26 St & 8 Ave
## 5
## W 27 St & 7 Ave
## 1
## W 29 St & 9 Ave
## 1
## W 31 St & 7 Ave
## 1
## W 33 St & 7 Ave
## 1
## W 34 St & 11 Ave
## 1
## W 40 St & 5 Ave
## 1
## W 41 St & 8 Ave
## 2
## W 42 St & 6 Ave
## 1
## W 43 St & 10 Ave
## 3
## W 44 St & 11 Ave
## 1
## W 45 St & 8 Ave
## 1
## W 47 St & 10 Ave
## 1
## W 49 St & 8 Ave
## 1
## W 51 St & Rockefeller Plaza
## 1
## W 52 St & 6 Ave
## 1
## W 54 St & 9 Ave
## 1
## W 55 St & 6 Ave
## 1
## W 59 St & 10 Ave
## 2
## W 70 St & Amsterdam Ave
## 2
## W 76 St & Columbus Ave
## 2
## W 84 St & Columbus Ave
## 2
## W Broadway & Spring St
## 2
## Washington Ave & Park Ave
## 2
## Washington Park
## 1
## Washington St & Barrow St
## 1
## Washington St & Gansevoort St
## 1
## West Drive & Prospect Park West
## 2
## West St & Chambers St
## 2
## West St & Liberty St
## 2
## Willis Ave & Bruckner Blvd
## 1
## Willoughby Ave & Hall St
## 1
## Willoughby Ave & Walworth St
## 2
## Withers St & Kingsland Ave
## 1
table(city$end_station_name)
##
##
## 2
## 1 Ave & E 16 St
## 1
## 1 Ave & E 39 St
## 2
## 1 Ave & E 62 St
## 2
## 1 Ave & E 68 St
## 3
## 1 Ave & E 78 St
## 1
## 1 Ave & E 94 St
## 1
## 1 Pl & Clinton St
## 1
## 10 Ave & W 14 St
## 1
## 10 St & 5 Ave
## 1
## 11 Ave & W 41 St
## 3
## 11 Ave & W 59 St
## 1
## 12 Ave & W 125 St
## 1
## 12 Ave & W 40 St
## 1
## 14 St & 5 Ave
## 1
## 14 St & 7 Ave
## 1
## 2 Ave & E 125 St
## 1
## 2 Ave & E 29 St
## 1
## 2 Ave & E 31 St
## 3
## 2 Ave & E 72 St
## 1
## 21 St & 31 Dr
## 1
## 23 St & 3 Ave
## 1
## 24 St & 5 Ave
## 2
## 27 St & Hunter St
## 1
## 3 Ave & 14 St
## 1
## 3 Ave & E 169 St
## 1
## 3 Ave & E 62 St
## 1
## 3 Ave & Schermerhorn St
## 2
## 3 St & Prospect Park West
## 1
## 31 Ave & 34 St
## 1
## 31 Ave & Steinway St
## 1
## 31 St & Ditmars Blvd
## 1
## 31 St & Newtown Ave
## 1
## 35 St & Broadway
## 1
## 37 St & 24 Ave
## 1
## 44 Dr & 21 St
## 1
## 45 Rd & 11 St
## 1
## 46 St & 7 Ave
## 1
## 5 Ave & 41 St
## 1
## 5 Ave & E 72 St
## 1
## 5 Ave & E 78 St
## 1
## 5 Ave & E 93 St
## 3
## 5 St & 6 Ave
## 1
## 6 Ave & 12 St
## 2
## 6 Ave & 9 St
## 1
## 6 Ave & Broome St
## 2
## 6 Ave & Canal St
## 2
## 6 Ave & W 33 St
## 3
## 6 Ave & W 34 St
## 1
## 7 Ave & Central Park South
## 1
## 7 Ave & Park Pl
## 1
## 8 Ave & W 27 St
## 1
## 8 Ave & W 31 St
## 1
## 8 Ave & W 33 St
## 2
## 8 Ave & W 38 St
## 2
## 8 Ave & W 52 St
## 1
## 9 Ave & W 18 St
## 1
## 9 St & 44 Rd
## 1
## Adam Clayton Powell Blvd & W 115 St
## 1
## Adam Clayton Powell Blvd & W 123 St
## 1
## Adam Clayton Powell Blvd & W 126 St
## 1
## Adam Clayton Powell Blvd & W 132 St
## 2
## Adam Clayton Powell Blvd & W 141 St
## 1
## Albany St & Greenwich St
## 1
## Alexander Ave & E 134 St
## 2
## Allen St & Hester St
## 2
## Allen St & Rivington St
## 1
## Amsterdam Ave & W 66 St
## 1
## Amsterdam Ave & W 73 St
## 1
## Amsterdam Ave & W 82 St
## 2
## Astoria Park S & Shore Blvd
## 1
## Atlantic Ave & Fort Greene Pl
## 1
## Bank St & Hudson St
## 1
## Bank St & Washington St
## 3
## Barclay St & Church St
## 1
## Barrow St & Hudson St
## 1
## Bayard St & Baxter St
## 1
## Bayard St & Leonard St
## 1
## Beck St & Leggett Ave
## 1
## Bedford Ave & Bergen St
## 1
## Bedford Ave & Nassau Ave
## 1
## Bergen St & Flatbush Ave
## 1
## Bergen St & Smith St
## 2
## Berkeley Pl & 6 Ave
## 1
## Berry St & N 8 St
## 1
## Broad St & Bridge St
## 1
## Broadway & Battery Pl
## 2
## Broadway & Berry St
## 1
## Broadway & W 155 St
## 1
## Broadway & W 25 St
## 2
## Broadway & W 29 St
## 1
## Broadway & W 36 St
## 3
## Broadway & W 37 St
## 1
## Broadway & W 41 St
## 1
## Broadway & W 60 St
## 3
## Brook Ave & E 138 St
## 1
## Bushwick Ave & Harman St
## 1
## Cadman Plaza E & Tillary St
## 1
## Canal St & Rutgers St
## 1
## Carmine St & 6 Ave
## 1
## Carroll St & 6 Ave
## 1
## Carroll St & Washington Ave
## 1
## Cedar St & Myrtle Ave
## 1
## Central Ave & Melrose St
## 1
## Central Park North & Adam Clayton Powell Blvd
## 1
## Central Park S & 6 Ave
## 4
## Central Park W & W 91 St
## 1
## Central Park W & W 97 St
## 1
## Central Park West & W 72 St
## 3
## Central Park West & W 76 St
## 3
## Centre St & Chambers St
## 2
## Cherry St
## 1
## Christopher St & Greenwich St
## 3
## Clark St & Henry St
## 1
## Cleveland Pl & Spring St
## 7
## Clinton Ave & Myrtle Ave
## 1
## Clinton St & Centre St
## 1
## Clinton St & Grand St
## 1
## Coffey St & Conover St
## 1
## Columbia Heights & Cranberry St
## 1
## Columbia St & Rivington St
## 2
## Columbus Ave & W 72 St
## 1
## Concord St & Bridge St
## 1
## Congress St & Hicks St
## 2
## Crescent St & Broadway
## 1
## Degraw St & Hoyt St
## 1
## DeKalb Ave & S Portland Ave
## 2
## Delancey St & Eldridge St
## 1
## Division St & Bowery
## 1
## Douglass St & 4 Ave
## 2
## Driggs Ave & N 9 St
## 1
## Dwight St & Van Dyke St
## 1
## E 1 St & 1 Ave
## 1
## E 10 St & Avenue A
## 3
## E 102 St & Park Ave
## 1
## E 103 St & Lexington Ave
## 1
## E 106 St & 1 Ave
## 1
## E 11 St & 1 Ave
## 2
## E 11 St & Avenue B
## 2
## E 118 St & 3 Ave
## 1
## E 12 St & 3 Ave
## 1
## E 12 St & Ave C
## 2
## E 13 St & 2 Ave
## 2
## E 13 St & Avenue A
## 3
## E 138 St & Willow Ave
## 1
## E 14 St & Avenue B
## 1
## E 149 St & Morris Ave
## 1
## E 15 St & 3 Ave
## 1
## E 16 St & 5 Ave
## 1
## E 161 St & River Ave
## 1
## E 169 St & Fox St
## 1
## E 17 St & Broadway
## 1
## E 19 St & 3 Ave
## 1
## E 2 St & Avenue A
## 1
## E 2 St & Avenue B
## 1
## E 2 St & Avenue C
## 1
## E 20 St & FDR Drive
## 2
## E 32 St & Park Ave
## 2
## E 33 St & 1 Ave
## 4
## E 4 St & 2 Ave
## 1
## E 43 St & 2 Ave
## 2
## E 47 St & Park Ave
## 2
## E 48 St & 3 Ave
## 1
## E 5 St & Cooper Sq
## 3
## E 56 St & Madison Ave
## 1
## E 58 St & 1 Ave (NW Corner)
## 1
## E 58 St & 3 Ave
## 1
## E 6 St & Avenue B
## 1
## E 60 St & York Ave
## 1
## E 63 St & 3 Ave
## 1
## E 7 St & Avenue A
## 3
## E 74 St & 1 Ave
## 1
## E 76 St & Park Ave
## 1
## E 85 St & 3 Ave
## 2
## E 88 St & 1 Ave
## 1
## E 88 St & Park Ave
## 1
## E 89 St & 3 Ave
## 1
## E 91 St & 2 Ave
## 1
## Edgecombe Ave & W 141 St
## 1
## Edgecombe Ave & W 145 St
## 1
## Edgecombe Ave & W 150 St
## 1
## Faile St & Garrison Ave
## 1
## Flushing Ave & Woodward Ave
## 1
## Forsyth St & Canal St
## 1
## Forsyth St\\t& Grand St
## 2
## Franklin Ave & Myrtle Ave
## 1
## Franklin St & Dupont St
## 2
## Frederick Douglass Blvd & W 112 St
## 1
## Frederick Douglass Blvd & W 115 St
## 1
## Front St & Gold St
## 1
## Frost St & Meeker Ave
## 1
## Fulton St & Adams St
## 1
## Fulton St & Utica Ave
## 1
## Graham Ave & Herbert St
## 1
## Grand Army Plaza & Central Park S
## 1
## Grand St & Elizabeth St
## 1
## Grand St & Greene St
## 1
## Grand St & Havemeyer St
## 1
## Greene Ave & Throop Ave
## 1
## Greenpoint Ave & Manhattan Ave
## 1
## Greenwich Ave & 8 Ave
## 3
## Greenwich Ave & Charles St
## 2
## Greenwich St & Perry St
## 2
## Halsey St & Broadway
## 1
## Halsey St & Tompkins Ave
## 1
## Hanson Pl & Ashland Pl
## 2
## Henry St & Middagh St
## 1
## Hicks St & Montague St
## 1
## Hoe Ave & Jennings St
## 1
## Huron St & Franklin St
## 1
## Icahn Stadium
## 1
## India St & Manhattan Ave
## 1
## India St Pier
## 1
## Irving Ave & Palmetto St
## 1
## Jay St & Tech Pl
## 1
## Jay St & York St
## 2
## Kent Ave & N 7 St
## 1
## Kent Ave & S 11 St
## 1
## Kent St & McGuinness Blvd
## 1
## Kingston Ave & Herkimer St
## 1
## Knickerbocker Ave & Cooper St
## 1
## Lafayette St & E 8 St
## 1
## Lafayette St & Jersey St
## 1
## LaGuardia Pl & W 3 St
## 1
## Lawrence St & Willoughby St
## 1
## Lenox Ave & W 115 St
## 1
## Lenox Ave & W 117 St
## 2
## Lenox Ave & W 126 St
## 1
## Lenox Ave & W 144 St
## 1
## Lexington Ave & E 24 St
## 2
## Lexington Ave & E 29 St
## 2
## Lispenard St & Broadway
## 1
## Little West St & 1 Pl
## 3
## MacDougal St & Prince St
## 1
## Madison Av & E 51 St
## 1
## Madison Ave & E 82 St
## 2
## Madison Ave & E 99 St
## 1
## Marcy Ave & Lafayette Ave
## 1
## Margaret Corbin Plz & Ft Washington Ave
## 1
## Menahan St & Wyckoff Ave
## 1
## Mercer St & Bleecker St
## 1
## Mercer St & Spring St
## 1
## Metropolitan Ave & Bedford Ave
## 2
## Metropolitan Ave & Meeker Ave
## 2
## Milton St & Franklin St
## 1
## Morgan Ave & Lombardy St
## 1
## Morningside Ave & W 123 St
## 2
## Motorgate
## 1
## Mott St & Prince St
## 1
## Murray St & Greenwich St
## 2
## Myrtle Ave & Grove St
## 1
## N 6 St & Bedford Ave
## 1
## Nassau Ave & Russell St
## 1
## Norfolk St & Broome St
## 2
## North Moore St & Greenwich St
## 2
## Old Slip & South St
## 2
## Onderdonk Ave & Dekalb Ave
## 1
## Pearl St & Peck Slip
## 2
## Pershing Square North
## 4
## Pier 40 - Hudson River Park
## 1
## Pierrepont St & Monroe Pl
## 1
## Pike St & E Broadway
## 1
## Pleasant Ave & E 116 St
## 1
## Pleasant Ave & E 120 St
## 1
## President St & 4 Ave
## 1
## President St & Henry St
## 1
## Prospect Ave & Jennings St
## 1
## Prospect Pl & 6 Ave
## 1
## Putnam Ave & Throop Ave
## 1
## Queens Plaza North & Crescent St
## 3
## River Ave & E 153 St
## 1
## Riverside Dr & W 104 St
## 1
## Riverside Dr & W 82 St
## 1
## Riverside Dr & W 91 St
## 1
## Rivington St & Ridge St
## 1
## S 4 St & Rodney St
## 2
## S 4 St & Wythe Ave
## 2
## S 5 Pl & S 5 St
## 1
## S Portland Ave & Hanson Pl
## 1
## Scholes St & Manhattan Ave
## 2
## Sherman Ave & E 166 St
## 1
## Smith St & 9 St
## 1
## South St & Whitehall St
## 1
## Southern Blvd & Tiffany St
## 1
## Spring St & Hudson St
## 1
## St James Pl & Pearl St
## 1
## St Marks Pl & 1 Ave
## 1
## St Nicholas Ave & Manhattan Ave
## 1
## St Nicholas Ave & W 134 St
## 1
## St. Nicholas Ave & W 126 St
## 1
## Stagg St & Union Ave
## 2
## Stanton St & Chrystie St
## 1
## Stanton St & Mangin St
## 1
## State St & Smith St
## 1
## Union St & 4 Ave
## 1
## University Pl & E 8 St
## 1
## Vernon Blvd & 10 St
## 1
## W 10 St & Washington St
## 1
## W 100 St & Manhattan Ave
## 2
## W 106 St & Central Park West
## 2
## W 11 St & 6 Ave
## 1
## W 13 St & 5 Ave
## 2
## W 13 St & 7 Ave
## 1
## W 145 St & Amsterdam Ave
## 1
## W 148 St & Amsterdam Ave
## 1
## W 15 St & 10 Ave
## 2
## W 15 St & 7 Ave
## 2
## W 16 St & The High Line
## 1
## W 169 St & Fort Washington Ave
## 1
## W 20 St & 10 Ave
## 3
## W 20 St & 7 Ave
## 1
## W 20 St & 8 Ave
## 1
## W 21 St & 6 Ave
## 3
## W 22 St & 10 Ave
## 4
## W 22 St & 8 Ave
## 1
## W 24 St & 7 Ave
## 1
## W 25 St & 6 Ave
## 4
## W 26 St & 10 Ave
## 1
## W 27 St & 7 Ave
## 4
## W 33 St & 7 Ave
## 1
## W 35 St & Dyer Ave
## 1
## W 4 St & 7 Ave S
## 1
## W 40 St & 5 Ave
## 1
## W 41 St & 8 Ave
## 2
## W 42 St & 6 Ave
## 1
## W 42 St & 8 Ave
## 1
## W 42 St & Dyer Ave
## 1
## W 43 St & 10 Ave
## 1
## W 44 St & 11 Ave
## 1
## W 47 St & 10 Ave
## 1
## W 50 St & 9 Ave
## 1
## W 52 St & 11 Ave
## 1
## W 52 St & 6 Ave
## 1
## W 53 St & 10 Ave
## 2
## W 54 St & 11 Ave
## 2
## W 54 St & 9 Ave
## 3
## W 59 St & 10 Ave
## 1
## W 64 St & Thelonious Monk Circle
## 1
## W 74 St & Columbus Ave
## 1
## W 89 St & Columbus Ave
## 3
## W Broadway & W Houston St
## 3
## Wall St & South St
## 2
## Wards Meadow Comfort Station
## 1
## Warren St & Court St
## 1
## Washington Pl & 6 Ave
## 1
## Washington St & Gansevoort St
## 1
## Waterbury St & Stagg St
## 1
## Watts St & Greenwich St
## 1
## West End Ave & W 107 St
## 2
## West End Ave & W 60 St
## 1
## West End Ave & W 94 St
## 1
## West St & Chambers St
## 2
## West St & Liberty St
## 4
## West Thames St
## 3
## Willis Ave & E 137 St
## 1
## Willis Ave & E 143 St
## 1
## Wilson Ave & Troutman St
## 1
## Wyckoff Av & Jefferson St
## 1
## Wythe Ave & Metropolitan Ave
## 3
dim(unique(city$start_station_name))-dim(unique(city$end_station_name))
## integer(0)
table(cut(city$duration, breaks = 5))
##
## (-82,1.8e+04] (1.8e+04,3.6e+04] (3.6e+04,5.4e+04] (5.4e+04,7.2e+04]
## 499 0 0 0
## (7.2e+04,9.01e+04]
## 1
table(cut(city$duration, breaks = c(0,300,600,900,1800)))
##
## (0,300] (300,600] (600,900] (900,1.8e+03]
## 90 128 87 126
table(cut(city$duration, breaks = c(0,300,600,1800,max(city$duration, na.rm = T)), labels =c("Small","Medium", "Long","Very Long") ))
##
## Small Medium Long Very Long
## 90 128 213 69
Let’s add this levels category to our data frame
city$duration_type<-cut(city$duration, breaks = c(0,300,600,1800,max(city$duration, na.rm = T)), labels =c("Small","Medium", "Long","Very Long"))
cat("\014")
head(city[,c(3,4,14,15)],1)
## started_at ended_at duration duration_type
## 1 2021-05-01 03:49:57 2021-05-01 03:58:58 541 Medium
Let’s plot the data
barplot(table(city$duration_type),
col = brewer.pal(4,"Dark2"),
las =1,
main="Barplot of Ride Durations",
xlab = "Ride Type based on Duration",
ylab = "Frequency of rides",
legend.text= TRUE,
args.legend = c("Small:0-5 min", "Medium:5-10 min","Long:10-30 min", "Very Long>30 min"))
Let’s explore the lubridate package further - Combining two columns - The y~x is used to say you plot y as a function of x - Divide the duration by 60 to convert sec to min - hour() converts date-time values in ‘started_at’ to hour
boxplot(city$duration/60 ~ hour(city$started_at),
xlab = "Hour ride started",
ylab = "Ride duration",
main = "Boxplot of Hour ride started v/s the ride duration",
ylim=c(0,100),
las =1,
col = c(brewer.pal(8,"Dark2")))
Let’s explore subset
city_subset_time <- subset(city, select = c("started_at","ended_at","duration","duration_type"))
head(city_subset_time)
## started_at ended_at duration duration_type
## 1 2021-05-01 03:49:57 2021-05-01 03:58:58 541 Medium
## 2 2021-05-01 08:10:37 2021-05-01 08:17:20 403 Medium
## 3 2021-05-01 09:35:37 2021-05-01 09:38:07 150 Small
## 4 2021-05-01 14:09:16 2021-05-01 14:47:46 2310 Very Long
## 5 2021-05-01 14:50:20 2021-05-01 15:01:39 679 Long
## 6 2021-05-01 15:52:47 2021-05-01 16:07:34 887 Long
head(city[,c(3,4,14,15)]) #You can see that the same can be achieved by just slicing the indexes
## started_at ended_at duration duration_type
## 1 2021-05-01 03:49:57 2021-05-01 03:58:58 541 Medium
## 2 2021-05-01 08:10:37 2021-05-01 08:17:20 403 Medium
## 3 2021-05-01 09:35:37 2021-05-01 09:38:07 150 Small
## 4 2021-05-01 14:09:16 2021-05-01 14:47:46 2310 Very Long
## 5 2021-05-01 14:50:20 2021-05-01 15:01:39 679 Long
## 6 2021-05-01 15:52:47 2021-05-01 16:07:34 887 Long
city_subset_casual <- subset(city,member_casual=="casual")
head(city_subset_casual)
## X ride_id started_at ended_at
## 1 382 FE9DCC1B48B6FC29 2021-05-01 03:49:57 2021-05-01 03:58:58
## 4 271 1127C6CF5A8F7326 2021-05-01 14:09:16 2021-05-01 14:47:46
## 6 336 A7FADE504F168DCE 2021-05-01 15:52:47 2021-05-01 16:07:34
## 7 383 22831415FA588BBD 2021-05-01 16:08:25 2021-05-01 16:25:49
## 11 274 D7C0128E441ADF42 2021-05-01 17:57:18 2021-05-01 18:18:26
## 19 259 88576CA8F4AC52A3 2021-05-02 16:46:29 2021-05-02 16:53:19
## start_station_name start_station_id
## 1 Willis Ave & Bruckner Blvd 7691.05
## 4 28 St & 41 Ave 6462.19
## 6 Mercer St & Bleecker St 5679.05
## 7 Thompson St & Bleecker St 5721.07
## 11 Broad St & Bridge St 4962.08
## 19 W 22 St & 8 Ave 6224.03
## end_station_name end_station_id start_lat start_lng
## 1 Adam Clayton Powell Blvd & W 132 St 7814.01 40.80570 -73.92518
## 4 5 Ave & E 93 St 7372.10 40.75105 -73.93797
## 6 S 4 St & Rodney St 5156.05 40.72706 -73.99662
## 7 Mercer St & Bleecker St 5679.05 40.72840 -73.99969
## 11 3 Ave & Schermerhorn St 4437.01 40.70365 -74.01168
## 19 Broadway & W 25 St 6173.08 40.74475 -73.99915
## end_lat end_lng member_casual duration duration_type
## 1 40.81354 -73.94521 casual 541 Medium
## 4 40.78579 -73.95748 casual 2310 Very Long
## 6 40.70934 -73.95608 casual 887 Long
## 7 40.72706 -73.99662 casual 1044 Long
## 11 40.68683 -73.97968 casual 1268 Long
## 19 40.74287 -73.98919 casual 410 Medium
The same results can also be obtained using this
city_subset_casual1<- city[which(city$member_casual=="casual"),]
head(city_subset_casual1)
## X ride_id started_at ended_at
## 1 382 FE9DCC1B48B6FC29 2021-05-01 03:49:57 2021-05-01 03:58:58
## 4 271 1127C6CF5A8F7326 2021-05-01 14:09:16 2021-05-01 14:47:46
## 6 336 A7FADE504F168DCE 2021-05-01 15:52:47 2021-05-01 16:07:34
## 7 383 22831415FA588BBD 2021-05-01 16:08:25 2021-05-01 16:25:49
## 11 274 D7C0128E441ADF42 2021-05-01 17:57:18 2021-05-01 18:18:26
## 19 259 88576CA8F4AC52A3 2021-05-02 16:46:29 2021-05-02 16:53:19
## start_station_name start_station_id
## 1 Willis Ave & Bruckner Blvd 7691.05
## 4 28 St & 41 Ave 6462.19
## 6 Mercer St & Bleecker St 5679.05
## 7 Thompson St & Bleecker St 5721.07
## 11 Broad St & Bridge St 4962.08
## 19 W 22 St & 8 Ave 6224.03
## end_station_name end_station_id start_lat start_lng
## 1 Adam Clayton Powell Blvd & W 132 St 7814.01 40.80570 -73.92518
## 4 5 Ave & E 93 St 7372.10 40.75105 -73.93797
## 6 S 4 St & Rodney St 5156.05 40.72706 -73.99662
## 7 Mercer St & Bleecker St 5679.05 40.72840 -73.99969
## 11 3 Ave & Schermerhorn St 4437.01 40.70365 -74.01168
## 19 Broadway & W 25 St 6173.08 40.74475 -73.99915
## end_lat end_lng member_casual duration duration_type
## 1 40.81354 -73.94521 casual 541 Medium
## 4 40.78579 -73.95748 casual 2310 Very Long
## 6 40.70934 -73.95608 casual 887 Long
## 7 40.72706 -73.99662 casual 1044 Long
## 11 40.68683 -73.97968 casual 1268 Long
## 19 40.74287 -73.98919 casual 410 Medium
As you can see both the results are the same
Let’s explore tapply, sapply, lapply, apply find average ride duration for each hour
city_houravg<-tapply(city$duration,hour(city$started_at),mean)
View(city_houravg)
Now let’s see how data manipulation actually hepled us to gain actionable intelligence # (1) Ride Length by Day for Casual Riders
boxplot((city_subset_casual$duration/60)~day(city_subset_casual$started_at),
las=2,
xlab = "Day",
ylab = "Duration (mins)",
main="Ride Length by Day for Casual Riders",
ylim=c(0,100),
col = c(brewer.pal(11,"Spectral")))
barplot(city_houravg, main="Average Ride Length for each Hour", font.main=4, col.main="red", xlab="Hour", ylab="Average Ride length in seconds", col = brewer.pal(12,"Set3"))
mosaicplot(city$member_casual~city$duration_type, shade=F,xlab= "Rider Type", ylab = "Ride Type", col = brewer.pal(4,"Set1"), main="Ride Length Type per Rider Type")
plot(city_subset_casual$end_lat,
city_subset_casual$end_lng,
col = c("orange","cyan"))