Section-1 Loading the Data

【1.1】 How many rows of data (observations) are in this dataset?

D = read.csv("data/mvtWeek1.csv", stringsAsFactors=F)
nrow(D)
[1] 191641
summary(D)
       ID              Date           LocationDescription   Arrest       
 Min.   :1310022   Length:191641      Length:191641       Mode :logical  
 1st Qu.:2832144   Class :character   Class :character    FALSE:176105   
 Median :4762956   Mode  :character   Mode  :character    TRUE :15536    
 Mean   :4968629                                                         
 3rd Qu.:7201878                                                         
 Max.   :9181151                                                         
                                                                         
  Domestic            Beat         District     CommunityArea  
 Mode :logical   Min.   : 111   Min.   : 1      Min.   : 0     
 FALSE:191226    1st Qu.: 722   1st Qu.: 6      1st Qu.:22     
 TRUE :415       Median :1121   Median :10      Median :32     
                 Mean   :1259   Mean   :12      Mean   :38     
                 3rd Qu.:1733   3rd Qu.:17      3rd Qu.:60     
                 Max.   :2535   Max.   :31      Max.   :77     
                                NA's   :43056   NA's   :24616  
      Year         Latitude      Longitude    
 Min.   :2001   Min.   :41.6   Min.   :-87.9  
 1st Qu.:2003   1st Qu.:41.8   1st Qu.:-87.7  
 Median :2006   Median :41.9   Median :-87.7  
 Mean   :2006   Mean   :41.8   Mean   :-87.7  
 3rd Qu.:2009   3rd Qu.:41.9   3rd Qu.:-87.6  
 Max.   :2012   Max.   :42.0   Max.   :-87.5  
                NA's   :2276   NA's   :2276   

【1.2】How many variables are in this dataset?

ncol(D)
[1] 11

【1.3】Using the “max” function, what is the maximum value of the variable “ID”?

max(D$ID)
[1] 9181151

【1.4】 What is the minimum value of the variable “Beat”?

min(D$Beat)
[1] 111

【1.5】 How many observations have value TRUE in the Arrest variable (this is the number of crimes for which an arrest was made)?

sum(D$Arrest == TRUE)
[1] 15536

【1.6】 How many observations have a LocationDescription value of ALLEY?

sum(D$LocationDescription == "ALLEY")
[1] 2308




Section-2 Understanding Dates in R

【2.1】 In what format are the entries in the variable Date?

head(D$Date)  # Month/Day/Year Hour:Minute
[1] "12/31/12 23:15" "12/31/12 22:00" "12/31/12 22:00" "12/31/12 22:00"
[5] "12/31/12 21:30" "12/31/12 20:30"
ts = as.POSIXct(D$Date, format="%m/%d/%y %H:%M")
par(cex=0.7)
hist(ts,"quarter",las=2,freq=T,xlab="")

table(format(ts,'%w'))

    0     1     2     3     4     5     6 
26316 27397 26791 27416 27319 29284 27118 
table(format(ts,'%m'))

   01    02    03    04    05    06    07    08    09    10    11    12 
16047 13511 15758 15280 16035 16002 16801 16572 16060 17086 16063 16426 
table(weekday=format(ts,'%w'), month=format(ts,'%m'))
       month
weekday   01   02   03   04   05   06   07   08   09   10   11   12
      0 2110 1837 2075 2070 2168 2239 2339 2304 2352 2424 2254 2144
      1 2395 1937 2200 2323 2359 2187 2457 2288 2258 2399 2323 2271
      2 2317 1885 2270 2118 2222 2183 2412 2251 2142 2416 2258 2317
      3 2259 2007 2242 2060 2345 2347 2408 2428 2239 2484 2182 2415
      4 2334 1904 2263 2099 2402 2190 2385 2464 2320 2280 2253 2425
      5 2392 2036 2443 2388 2340 2566 2459 2591 2390 2692 2475 2512
      6 2240 1905 2265 2222 2199 2290 2341 2246 2359 2391 2318 2342
library(dplyr)
library(d3heatmap)
table(format(ts,"%m"), format(ts,"%Y")) %>% 
  as.data.frame.matrix %>% 
  d3heatmap(F,F,col=colorRamp(c('seagreen','lightyellow','red')))

【2.2】 What is the month and year of the median date in our dataset?

median(ts)
[1] "2006-05-21 12:30:00 CST"

【2.3】 In which month did the fewest motor vehicle thefts occur?

sort(table(format(ts,"%m")))

   02    04    03    06    05    01    09    11    12    08    07    10 
13511 15280 15758 16002 16035 16047 16060 16063 16426 16572 16801 17086 

【2.4】 On which weekday did the most motor vehicle thefts occur?

format(ts,"%w") %>% table %>% sort
.
    0     2     6     4     1     3     5 
26316 26791 27118 27319 27397 27416 29284 

【2.5】 Which month has the largest number of motor vehicle thefts for which an arrest was made?

ts[D$Arrest] %>% format('%m') %>% table %>% sort
.
  05   06   02   09   04   11   03   07   08   10   12   01 
1187 1230 1238 1248 1252 1256 1298 1324 1329 1342 1397 1435 




LS0tDQp0aXRsZTogIkFTMS0xOiBBbiBBbmFseXRpY2FsIERldGVjdGl2ZSINCmF1dGhvcjogIuWNk+mbjeeEtiBEOTk0MDEwMDAxIDIwMTgvMDcvMDMiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQotIC0gLQ0KDQojIyMjICBTZWN0aW9uLTEgTG9hZGluZyB0aGUgRGF0YQ0KDQrjgJAxLjHjgJEgSG93IG1hbnkgcm93cyBvZiBkYXRhIChvYnNlcnZhdGlvbnMpIGFyZSBpbiB0aGlzIGRhdGFzZXQ/DQpgYGB7cn0NCkQgPSByZWFkLmNzdigiZGF0YS9tdnRXZWVrMS5jc3YiLCBzdHJpbmdzQXNGYWN0b3JzPUYpDQpucm93KEQpDQpgYGANCg0KYGBge3J9DQpzdW1tYXJ5KEQpDQpgYGANCg0K44CQMS4y44CRSG93IG1hbnkgdmFyaWFibGVzIGFyZSBpbiB0aGlzIGRhdGFzZXQ/DQpgYGB7cn0NCm5jb2woRCkNCmBgYA0KDQoNCuOAkDEuM+OAkVVzaW5nIHRoZSAibWF4IiBmdW5jdGlvbiwgd2hhdCBpcyB0aGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgIklEIj8NCmBgYHtyfQ0KbWF4KEQkSUQpDQpgYGANCg0KDQrjgJAxLjTjgJEgV2hhdCBpcyB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgIkJlYXQiPw0KYGBge3J9DQptaW4oRCRCZWF0KQ0KYGBgDQoNCg0K44CQMS4144CRIEhvdyBtYW55IG9ic2VydmF0aW9ucyBoYXZlIHZhbHVlIFRSVUUgaW4gdGhlIEFycmVzdCB2YXJpYWJsZSAodGhpcyBpcyB0aGUgbnVtYmVyIG9mIGNyaW1lcyBmb3Igd2hpY2ggYW4gYXJyZXN0IHdhcyBtYWRlKT8NCmBgYHtyfQ0Kc3VtKEQkQXJyZXN0ID09IFRSVUUpDQpgYGANCg0K44CQMS4244CRIEhvdyBtYW55IG9ic2VydmF0aW9ucyBoYXZlIGEgTG9jYXRpb25EZXNjcmlwdGlvbiB2YWx1ZSBvZiBBTExFWT8NCmBgYHtyfQ0Kc3VtKEQkTG9jYXRpb25EZXNjcmlwdGlvbiA9PSAiQUxMRVkiKQ0KYGBgDQoNCg0KPGJyPjxicj4NCg0KLSAtIC0NCg0KIyMjIyBTZWN0aW9uLTIgVW5kZXJzdGFuZGluZyBEYXRlcyBpbiBSDQoNCuOAkDIuMeOAkSBJbiB3aGF0IGZvcm1hdCBhcmUgdGhlIGVudHJpZXMgaW4gdGhlIHZhcmlhYmxlIERhdGU/DQoNCisgTW9udGgvRGF5L1llYXIgSG91cjpNaW51dGUNCisgRGF5L01vbnRoL1llYXIgSG91cjpNaW51dGUNCisgSG91cjpNaW51dGUgTW9udGgvRGF5L1llYXINCisgSG91cjpNaW51dGUgRGF5L01vbnRoL1llYXINCg0KYGBge3J9DQpoZWFkKEQkRGF0ZSkgICMgTW9udGgvRGF5L1llYXIgSG91cjpNaW51dGUNCmBgYA0KDQpgYGB7cn0NCnRzID0gYXMuUE9TSVhjdChEJERhdGUsIGZvcm1hdD0iJW0vJWQvJXkgJUg6JU0iKQ0KcGFyKGNleD0wLjcpDQpoaXN0KHRzLCJxdWFydGVyIixsYXM9MixmcmVxPVQseGxhYj0iIikNCmBgYA0KDQpgYGB7cn0NCnRhYmxlKGZvcm1hdCh0cywnJXcnKSkNCnRhYmxlKGZvcm1hdCh0cywnJW0nKSkNCnRhYmxlKHdlZWtkYXk9Zm9ybWF0KHRzLCcldycpLCBtb250aD1mb3JtYXQodHMsJyVtJykpDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShkM2hlYXRtYXApDQp0YWJsZShmb3JtYXQodHMsIiVtIiksIGZvcm1hdCh0cywiJVkiKSkgJT4lIA0KICBhcy5kYXRhLmZyYW1lLm1hdHJpeCAlPiUgDQogIGQzaGVhdG1hcChGLEYsY29sPWNvbG9yUmFtcChjKCdzZWFncmVlbicsJ2xpZ2h0eWVsbG93JywncmVkJykpKQ0KYGBgDQoNCg0K44CQMi4y44CRIFdoYXQgaXMgdGhlIG1vbnRoIGFuZCB5ZWFyIG9mIHRoZSBtZWRpYW4gZGF0ZSBpbiBvdXIgZGF0YXNldD8gDQpgYGB7cn0NCm1lZGlhbih0cykNCmBgYA0KDQrjgJAyLjPjgJEgSW4gd2hpY2ggbW9udGggZGlkIHRoZSBmZXdlc3QgbW90b3IgdmVoaWNsZSB0aGVmdHMgb2NjdXI/DQpgYGB7cn0NCnNvcnQodGFibGUoZm9ybWF0KHRzLCIlbSIpKSkNCmBgYA0KDQrjgJAyLjTjgJEgT24gd2hpY2ggd2Vla2RheSBkaWQgdGhlIG1vc3QgbW90b3IgdmVoaWNsZSB0aGVmdHMgb2NjdXI/DQpgYGB7cn0NCmZvcm1hdCh0cywiJXciKSAlPiUgdGFibGUgJT4lIHNvcnQNCmBgYA0KDQrjgJAyLjXjgJEgV2hpY2ggbW9udGggaGFzIHRoZSBsYXJnZXN0IG51bWJlciBvZiBtb3RvciB2ZWhpY2xlIHRoZWZ0cyBmb3Igd2hpY2ggYW4gYXJyZXN0IHdhcyBtYWRlPw0KYGBge3J9DQp0c1tEJEFycmVzdF0gJT4lIGZvcm1hdCgnJW0nKSAlPiUgdGFibGUgJT4lIHNvcnQNCmBgYA0KDQo8YnI+PGJyPg0KDQotIC0gLQ0KDQojIyMjIFNlY3Rpb24tMyBWaXN1YWxpemluZyBDcmltZSBUcmVuZHMNCg0K44CQMy4x44CRIChhKSBJbiBnZW5lcmFsLCBkb2VzIGl0IGxvb2sgbGlrZSBjcmltZSBpbmNyZWFzZXMgb3IgZGVjcmVhc2VzIGZyb20gMjAwMiAtIDIwMTI/IChiKSBJbiBnZW5lcmFsLCBkb2VzIGl0IGxvb2sgbGlrZSBjcmltZSBpbmNyZWFzZXMgb3IgZGVjcmVhc2VzIGZyb20gMjAwNSAtIDIwMDg/IChjKSBJbiBnZW5lcmFsLCBkb2VzIGl0IGxvb2sgbGlrZSBjcmltZSBpbmNyZWFzZXMgb3IgZGVjcmVhc2VzIGZyb20gMjAwOSAtIDIwMTE/DQpgYGB7cn0NCmhpc3QodHMsJ3llYXInLGxhcz0yKQ0KIyAyMDAyfjIwMTIgOiBkZWNyZWFzZQ0KIyAyMDA1fjIwMDggOiBkZWNyZWFzZQ0KIyAyMDA5fjIwMTEgOiBpbmNyZWFzZQ0KYGBgDQoNCuOAkDMuMuOAkSBEb2VzIGl0IGxvb2sgbGlrZSB0aGVyZSB3ZXJlIG1vcmUgY3JpbWVzIGZvciB3aGljaCBhcnJlc3RzIHdlcmUgbWFkZSBpbiB0aGUgZmlyc3QgaGFsZiBvZiB0aGUgdGltZSBwZXJpb2Qgb3IgdGhlIHNlY29uZCBoYWxmIG9mIHRoZSB0aW1lIHBlcmlvZD8NCmBgYHtyfQ0KdGFibGUodHMgPiBhcy5QT1NJWGN0KCIyMDA3LTAxLTAxIikpDQpgYGANCg0K44CQMy4z44CRIEZvciB3aGF0IHByb3BvcnRpb24gb2YgbW90b3IgdmVoaWNsZSB0aGVmdHMgaW4gMjAwMSB3YXMgYW4gYXJyZXN0IG1hZGU/DQpgYGB7cn0NCnRhYmxlKEQkQXJyZXN0LCBmb3JtYXQodHMsJyVZJykpICU+JSBwcm9wLnRhYmxlKDIpICU+JSByb3VuZCgzKSAjIDAuMTA0DQpgYGANCg0K44CQMy4044CRIEZvciB3aGF0IHByb3BvcnRpb24gb2YgbW90b3IgdmVoaWNsZSB0aGVmdHMgaW4gMjAwNyB3YXMgYW4gYXJyZXN0IG1hZGU/DQpgYGB7cn0NCnRhcHBseShEJEFycmVzdCwgZm9ybWF0KHRzLCclWScpLCBtZWFuKSAlPiUgcm91bmQoMykgIyAwLjA4NQ0KYGBgDQoNCuOAkDMuNeOAkSBGb3Igd2hhdCBwcm9wb3J0aW9uIG9mIG1vdG9yIHZlaGljbGUgdGhlZnRzIGluIDIwMTIgd2FzIGFuIGFycmVzdCBtYWRlPw0KYGBge3J9DQojIDAuMDM5DQpgYGANCg0KPGJyPjxicj4NCg0KLSAtIC0NCg0KIyMjIyBTZWN0aW9uLTQgUG9wdWxhciBMb2NhdGlvbnMNCg0K44CQNC4x44CRIFdoaWNoIGxvY2F0aW9ucyBhcmUgdGhlIHRvcCBmaXZlIGxvY2F0aW9ucyBmb3IgbW90b3IgdmVoaWNsZSB0aGVmdHMsIGV4Y2x1ZGluZyB0aGUgIk90aGVyIiBjYXRlZ29yeT8gWW91IHNob3VsZCBzZWxlY3QgNSBvZiB0aGUgZm9sbG93aW5nIG9wdGlvbnMuDQoNCmBgYHtyfQ0KdGFibGUoRCRMb2NhdGlvbkRlc2NyaXB0aW9uKSAlPiUgc29ydCAlPiUgdGFpbCg2KQ0KYGBgDQoNCuOAkDQuMuOAkSBIb3cgbWFueSBvYnNlcnZhdGlvbnMgYXJlIGluIFRvcDU/DQpgYGB7cn0NCih0b3A1ID0gbmFtZXModGFibGUoRCRMb2NhdGlvbkRlc2NyaXB0aW9uKSAlPiUgc29ydCAlPiUgdGFpbCg2KSlbLTRdKQ0KDQpzdW0oRCRMb2NhdGlvbkRlc2NyaXB0aW9uICVpbiUgdG9wNSkgICMgMTc3NTEwDQpgYGANCg0K44CQNC4z44CRIE9uZSBvZiB0aGUgbG9jYXRpb25zIGhhcyBhIG11Y2ggaGlnaGVyIGFycmVzdCByYXRlIHRoYW4gdGhlIG90aGVyIGxvY2F0aW9ucy4gV2hpY2ggaXMgaXQ/IA0KYGBge3J9DQpUT1A1ID0gc3Vic2V0KEQsIExvY2F0aW9uRGVzY3JpcHRpb24gJWluJSB0b3A1KQ0KdGFwcGx5KFRPUDUkQXJyZXN0LCBUT1A1JExvY2F0aW9uRGVzY3JpcHRpb24sIG1lYW4pICU+JSBzb3J0DQpgYGANCg0K44CQNC4044CRIE9uIHdoaWNoIGRheSBvZiB0aGUgd2VlayBkbyB0aGUgbW9zdCBtb3RvciB2ZWhpY2xlIHRoZWZ0cyBhdCBnYXMgc3RhdGlvbnMgaGFwcGVuPw0KYGBge3J9DQp0c1tEJExvY2F0aW9uID09ICJHQVMgU1RBVElPTiJdICU+JSBmb3JtYXQoJyV3JykgJT4lIHRhYmxlICU+JSBzb3J0DQpgYGANCg0K44CQNC4144CRIE9uIHdoaWNoIGRheSBvZiB0aGUgd2VlayBkbyB0aGUgZmV3ZXN0IG1vdG9yIHZlaGljbGUgdGhlZnRzIGluIHJlc2lkZW50aWFsIGRyaXZld2F5cyBoYXBwZW4/DQpgYGB7cn0NCnRzW0QkTG9jYXRpb24gPT0gIkRSSVZFV0FZIC0gUkVTSURFTlRJQUwiXSAlPiUgDQogIGZvcm1hdCgnJXcnKSAlPiUgdGFibGUgJT4lIHNvcnQNCmBgYA0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQo=