Goal: Master tidy data organization and subsetting.

  1. Reshape the following data so that they are tidy

rr my_df = data_frame( group = c(,,), drug_X = c(130, 135, 140), drug_Y = c(NA, 150, 135))

For the remaining questions use the dinesafe data.

  1. Arrange infractions from largest to smallest amount fined. Return the inspection ID, establishment name, amount fined, and infraction details.

  2. Find the restaurant infractions with the 10 highest fines. Return the inspection ID, establishment name, amount fined, and infraction details.

  3. Find how many (unique) inspections took place in 2017.

  4. Looking at distinct values of the variable SEVERITY, there are two types of values labeled and “NA - Not Applicable”. Can you explain the difference between the two?

rr dinesafe %>% distinct(SEVERITY)

# A tibble: 5 x 1
  SEVERITY           
  <chr>              
1 M - Minor          
2 <NA>               
3 NA - Not Applicable
4 S - Significant    
5 C - Crucial        
  1. Split SEVERITY into two variables: a severity code (SEV_CODE) and a severity description (SEV_DESC): i.e. separate() the values of SEVERITY along the hyphen (–).

  2. Find one of my favourite spots in TO: it was inspected on 2018-03-20, got a Pass, and has the 4th smallest ID # out of all the other establishments inspected on that day. Write R code that outputs the name of the place.
    (Hint: Use top_n() with negative row index.)

  3. Create a list of all unique Tim Hortons establishments in Toronto. The name can be either “TIM HORTONS” or “Tim Hortons”, and you should use select() with starts_with() to return all variables starting with “ESTABLISHMENT”.

LS0tDQp0aXRsZTogIlNUQUE1NyAtIFdvcmtTaGVldCAzIg0KZGF0ZTogIiAgIg0KYXV0aG9yOiAiTmFtZTogICAgLCBJRCM6ICAgIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQplZGl0b3Jfb3B0aW9uczogDQogIGNodW5rX291dHB1dF90eXBlOiBpbmxpbmUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkNCmBgYA0KDQoqKkdvYWwqKjogTWFzdGVyIHRpZHkgZGF0YSBvcmdhbml6YXRpb24gYW5kIHN1YnNldHRpbmcuIA0KDQoxLiBSZXNoYXBlIHRoZSBmb2xsb3dpbmcgZGF0YSBzbyB0aGF0IHRoZXkgYXJlICp0aWR5Kg0KDQpgYGB7cn0NCm15X2RmID0gZGF0YV9mcmFtZSggZ3JvdXAgPSBjKCJBIiwiQiIsIkMiKSwgDQogICAgICAgICAgICAgICAgICAgIGRydWdfWCA9IGMoMTMwLCAxMzUsIDE0MCksDQogICAgICAgICAgICAgICAgICAgIGRydWdfWSA9IGMoTkEsIDE1MCwgMTM1KSkNCmBgYA0KDQoNCkZvciB0aGUgcmVtYWluaW5nIHF1ZXN0aW9ucyB1c2UgdGhlICpkaW5lc2FmZSogZGF0YS4gDQpgYGB7ciwgaW5jbHVkZSA9IEZBTFNFfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpkaW5lc2FmZSA9IHJlYWRfY3N2KCJkYXRhL2RpbmVzYWZlLmNzdiIpIA0KYGBgDQoNCjIuIEFycmFuZ2UgaW5mcmFjdGlvbnMgZnJvbSBsYXJnZXN0IHRvIHNtYWxsZXN0IGFtb3VudCBmaW5lZC4gUmV0dXJuIHRoZSBpbnNwZWN0aW9uIElELCBlc3RhYmxpc2htZW50IG5hbWUsIGFtb3VudCBmaW5lZCwgYW5kIGluZnJhY3Rpb24gZGV0YWlscy4NCg0KMy4gRmluZCB0aGUgKnJlc3RhdXJhbnQqIGluZnJhY3Rpb25zIHdpdGggdGhlIDEwIGhpZ2hlc3QgZmluZXMuIFJldHVybiB0aGUgaW5zcGVjdGlvbiBJRCwgZXN0YWJsaXNobWVudCBuYW1lLCBhbW91bnQgZmluZWQsIGFuZCBpbmZyYWN0aW9uIGRldGFpbHMuDQoNCg0KNC4gRmluZCBob3cgbWFueSAodW5pcXVlKSBpbnNwZWN0aW9ucyB0b29rIHBsYWNlIGluIDIwMTcuDQoNCjUuIExvb2tpbmcgYXQgZGlzdGluY3QgdmFsdWVzIG9mIHRoZSB2YXJpYWJsZSBTRVZFUklUWSwgdGhlcmUgYXJlIHR3byB0eXBlcyBvZiB2YWx1ZXMgbGFiZWxlZCA8TkE+IGFuZCAiTkEgLSBOb3QgQXBwbGljYWJsZSIuIENhbiB5b3UgZXhwbGFpbiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28/IA0KDQpgYGB7cn0NCmRpbmVzYWZlICU+JSBkaXN0aW5jdChTRVZFUklUWSkNCmBgYA0KDQo2LiBTcGxpdCBTRVZFUklUWSBpbnRvIHR3byB2YXJpYWJsZXM6IGEgc2V2ZXJpdHkgY29kZSAoU0VWX0NPREUpIGFuZCBhIHNldmVyaXR5IGRlc2NyaXB0aW9uIChTRVZfREVTQyk6IGkuZS4gYHNlcGFyYXRlKClgIHRoZSB2YWx1ZXMgb2YgU0VWRVJJVFkgYWxvbmcgdGhlIGh5cGhlbiAoLS0pLg0KDQo3LiBGaW5kIG9uZSBvZiBteSBmYXZvdXJpdGUgc3BvdHMgaW4gVE86IGl0IHdhcyBpbnNwZWN0ZWQgb24gMjAxOC0wMy0yMCwgZ290IGEgUGFzcywgYW5kIGhhcyB0aGUgNHRoIHNtYWxsZXN0IElEIFwjIG91dCBvZiBhbGwgdGhlIG90aGVyIGVzdGFibGlzaG1lbnRzIGluc3BlY3RlZCBvbiB0aGF0IGRheS4gV3JpdGUgUiBjb2RlIHRoYXQgb3V0cHV0cyB0aGUgbmFtZSBvZiB0aGUgcGxhY2UuICANCihIaW50OiBVc2UgYHRvcF9uKClgIHdpdGggKm5lZ2F0aXZlKiByb3cgaW5kZXguKQ0KDQoNCjguIENyZWF0ZSBhIGxpc3Qgb2YgYWxsICp1bmlxdWUqIFRpbSBIb3J0b25zIGVzdGFibGlzaG1lbnRzIGluIFRvcm9udG8uIFRoZSBuYW1lIGNhbiBiZSBlaXRoZXIgIlRJTSBIT1JUT05TIiBvciAiVGltIEhvcnRvbnMiLCBhbmQgeW91IHNob3VsZCB1c2UgYHNlbGVjdCgpYCB3aXRoIGBzdGFydHNfd2l0aCgpYCAgdG8gcmV0dXJuIGFsbCB2YXJpYWJsZXMgc3RhcnRpbmcgd2l0aCAiRVNUQUJMSVNITUVOVCIuDQoNCg0KDQoNCg0KDQo=