1. Import the data
bike.csv <- read.csv("bike_sharing_data.csv")
  1. 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" ...
  1. 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                     
  1. 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