- Import the data
bike.csv <- read.csv("bike_sharing_data.csv")
- Describe the data
str(bike.csv)
'data.frame': 17379 obs. of 13 variables:
$ datetime : chr "1/1/11 0:00" "1/1/11 1:00" "1/1/11 2:00" "1/1/11 3:00" ...
$ season : int 1 1 1 1 1 1 1 1 1 1 ...
$ holiday : int 0 0 0 0 0 0 0 0 0 0 ...
$ workingday: int 0 0 0 0 0 0 0 0 0 0 ...
$ weather : int 1 1 1 1 1 2 1 1 1 1 ...
$ temp : num 9.84 9.02 9.02 9.84 9.84 ...
$ atemp : num 14.4 13.6 13.6 14.4 14.4 ...
$ humidity : chr "81" "80" "80" "75" ...
$ windspeed : num 0 0 0 0 0 ...
$ casual : int 3 8 5 3 0 0 2 1 1 8 ...
$ registered: int 13 32 27 10 1 1 0 2 7 6 ...
$ count : int 16 40 32 13 1 1 2 3 8 14 ...
$ sources : chr "ad campaign" "www.yahoo.com" "www.google.fi" "AD campaign" ...
- Summarize the data
summary(bike.csv)
datetime season holiday workingday weather
Length:17379 Min. :1.000 Min. :0.00000 Min. :0.0000 Min. :1.000
Class :character 1st Qu.:2.000 1st Qu.:0.00000 1st Qu.:0.0000 1st Qu.:1.000
Mode :character Median :3.000 Median :0.00000 Median :1.0000 Median :1.000
Mean :2.502 Mean :0.02877 Mean :0.6827 Mean :1.425
3rd Qu.:3.000 3rd Qu.:0.00000 3rd Qu.:1.0000 3rd Qu.:2.000
Max. :4.000 Max. :1.00000 Max. :1.0000 Max. :4.000
temp atemp humidity windspeed casual
Min. : 0.82 Min. : 0.00 Length:17379 Min. : 0.000 Min. : 0.00
1st Qu.:13.94 1st Qu.:16.66 Class :character 1st Qu.: 7.002 1st Qu.: 4.00
Median :20.50 Median :24.24 Mode :character Median :12.998 Median : 16.00
Mean :20.38 Mean :23.79 Mean :12.737 Mean : 34.48
3rd Qu.:27.06 3rd Qu.:31.06 3rd Qu.:16.998 3rd Qu.: 46.00
Max. :41.00 Max. :50.00 Max. :56.997 Max. :367.00
registered count sources
Min. : 0.0 Min. : 1 Length:17379
1st Qu.: 36.0 1st Qu.: 42 Class :character
Median :116.0 Median :141 Mode :character
Mean :152.5 Mean :187
3rd Qu.:217.0 3rd Qu.:277
Max. :886.0 Max. :977
- Generate the cross-tabulations
table(bike.csv$temp)
0.82 1.64 2.46 3.28 4.1 4.92 5.74 6.56 7.38 8.2 9.02 9.84 10.66 11.48 12.3
17 16 16 17 51 76 138 230 155 354 421 522 559 301 641
13.12 13.94 14.76 15.58 16.4 17.22 18.04 18.86 19.68 20.5 21.32 22.14 22.96 23.78 24.6
611 645 671 372 614 548 507 559 288 531 556 569 579 305 675
25.42 26.24 27.06 27.88 28.7 29.52 30.34 31.16 31.98 32.8 33.62 34.44 35.26 36.08 36.9
726 692 693 349 690 570 516 396 169 325 213 138 131 53 90
37.72 38.54 39.36 40.18 41
49 17 16 1 1
dataset_dimensions <- dim(bike.csv)
sort(table(bike.csv$humidity), decreasing=TRUE)
88 83 94 87 70 66 65 69 55 74 77 61 93 49 78 62 73 46 52 56 82 41 54
657 630 560 488 430 388 387 359 352 341 336 335 331 327 327 325 317 316 312 310 299 290 287
81 59 100 43 53 60 50 51 58 45 47 44 48 89 79 42 57 37 40 75 64 76 39
275 272 270 270 267 267 266 262 258 248 247 244 240 239 238 235 231 224 224 222 219 219 209
71 72 36 38 68 35 63 33 67 34 84 31 30 80 29 32 28 26 86 27 25 24 23
193 191 187 186 172 163 163 162 161 133 124 118 113 107 106 99 97 78 76 71 59 56 46
22 21 0 20 19 16 17 18 90 85 15 96 14 92 10 12 13 8 91 97 x61
27 26 22 17 16 10 10 10 7 5 4 3 2 2 1 1 1 1 1 1 1
season_value <- bike.csv$season[6251]
cat("The value of season in row 6251 is:", season_value, "\n")
The value of season in row 6251 is: 4
table(bike.csv$season)
1 2 3 4
4242 4409 4496 4232
table(bike.csv$windspeed)
0 6.0032 7.0015 8.9981 11.0014 12.998 15.0013 16.9979 19.0012 19.9995 22.0028
2180 1425 1617 1738 1695 1657 1513 1295 1048 808 602
23.9994 26.0027 27.9993 30.0026 31.0009 32.9975 35.0008 36.9974 39.0007 40.9973 43.0006
460 381 296 176 146 112 84 39 44 23 14
43.9989 46.0022 47.9988 50.0021 51.9987 54.002 55.9986 56.9969
11 5 2 2 1 2 1 2
bike.csv[(bike.csv$season %in% c(1, 2)) & (bike.csv$windspeed > 40), ]
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKMS4gSW1wb3J0IHRoZSBkYXRhCmBgYHtyfQpiaWtlLmNzdiA8LSByZWFkLmNzdigiYmlrZV9zaGFyaW5nX2RhdGEuY3N2IikKYGBgCgoyLiBEZXNjcmliZSB0aGUgZGF0YQpgYGB7cn0Kc3RyKGJpa2UuY3N2KQpgYGAKMy4gU3VtbWFyaXplIHRoZSBkYXRhCmBgYHtyfQpzdW1tYXJ5KGJpa2UuY3N2KQpgYGAKCjQuIEdlbmVyYXRlIHRoZSBjcm9zcy10YWJ1bGF0aW9ucwpgYGB7cn0KdGFibGUoYmlrZS5jc3YkdGVtcCkKYGBgCgpgYGB7cn0KZGF0YXNldF9kaW1lbnNpb25zIDwtIGRpbShiaWtlLmNzdikKYGBgCgpgYGB7cn0Kc29ydCh0YWJsZShiaWtlLmNzdiRodW1pZGl0eSksIGRlY3JlYXNpbmc9VFJVRSkKYGBgCgpgYGB7cn0Kc2Vhc29uX3ZhbHVlIDwtIGJpa2UuY3N2JHNlYXNvbls2MjUxXQpgYGAKYGBge3J9CmNhdCgiVGhlIHZhbHVlIG9mIHNlYXNvbiBpbiByb3cgNjI1MSBpczoiLCBzZWFzb25fdmFsdWUsICJcbiIpCmBgYAoKYGBge3J9CnRhYmxlKGJpa2UuY3N2JHNlYXNvbikKYGBgCgpgYGB7cn0KdGFibGUoYmlrZS5jc3Ykd2luZHNwZWVkKQpgYGAKYGBge3J9CmJpa2UuY3N2WyhiaWtlLmNzdiRzZWFzb24gJWluJSBjKDEsIDIpKSAmIChiaWtlLmNzdiR3aW5kc3BlZWQgPiA0MCksIF0KYGBgCgoK