Exercise 12.2.1

```r
library(tidyverse)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->



####  **1.Using prose, describe how the variables and observations are organized in each of the sample tables ?**

In table1, Each row represents a (country, year) combination. The columns cases and population contain the values for those variables.


<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxudGFibGUxO1xuXG5cbmBgYFxuYGBgIn0= -->

```r
```r
table1;

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->


In table2, each row represents a (country, year, variable) combination. The column count contains the values of variables cases and population in separate rows.


<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxudGFibGUyO1xuYGBgXG5gYGAifQ== -->

```r
```r
table2;

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->


In table3, each row represents a (country, year) combination. The column rate provides the values of both cases and population in a string formatted like cases / population .

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxudGFibGUzO1xuYGBgXG5gYGAifQ== -->

```r
```r
table3;

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->


Table 4 is split into two tables, one table for each variable. The table table4a contains the values of cases and table4b contains the values of population. Within each table, each row represents a country, each column represents a year, and the cells are the value of the tableโ€™s variable for that country and year.


<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxudGFibGU0YTtcbmBgYFxuYGBgIn0= -->

```r
```r
table4a;

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->




<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxudGFibGU0YjtcbmBgYFxuYGBgIn0= -->

```r
```r
table4b;

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->




<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxudGFibGU1O1xuYGBgXG5gYGAifQ== -->

```r
```r
table5;

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->

**Exercise 12.2.2**

#### **2.Compute the rate for table2, and table4a + table4b. You will need to perform four operations:

*Extract the number of TB cases per country per year.
*Extract the matching population per country per year.
*Divide cases by population, and multiply by 10000.
*Store back in the appropriate place.
*Which representation is easiest to work with? Which is hardest? Why?**


<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxudDJfY2FzZXMgPC0gZmlsdGVyKHRhYmxlMiwgdHlwZSA9PSBcXGNhc2VzXFwpICU+JVxuICByZW5hbWUoY2FzZXMgPSBjb3VudCkgJT4lXG4gIGFycmFuZ2UoY291bnRyeSwgeWVhcilcbnQyX3BvcHVsYXRpb24gPC0gZmlsdGVyKHRhYmxlMiwgdHlwZSA9PSBcXHBvcHVsYXRpb25cXCkgJT4lXG4gIHJlbmFtZShwb3B1bGF0aW9uID0gY291bnQpICU+JVxuICBhcnJhbmdlKGNvdW50cnksIHllYXIpXG5cbmBgYFxuYGBgIn0= -->

```r
```r
t2_cases <- filter(table2, type == \cases\) %>%
  rename(cases = count) %>%
  arrange(country, year)
t2_population <- filter(table2, type == \population\) %>%
  rename(population = count) %>%
  arrange(country, year)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->



<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxudDJfY2FzZXNfcGVyX2NhcCA8LSB0aWJibGUoXG4gIHllYXIgPSB0Ml9jYXNlcyR5ZWFyLFxuICBjb3VudHJ5ID0gdDJfY2FzZXMkY291bnRyeSxcbiAgY2FzZXMgPSB0Ml9jYXNlcyRjYXNlcyxcbiAgcG9wdWxhdGlvbiA9IHQyX3BvcHVsYXRpb24kcG9wdWxhdGlvblxuKSAlPiVcbiAgbXV0YXRlKGNhc2VzX3Blcl9jYXAgPSAoY2FzZXMgLyBwb3B1bGF0aW9uKSAqIDEwMDAwKSAlPiVcbiAgc2VsZWN0KGNvdW50cnksIHllYXIsIGNhc2VzX3Blcl9jYXApXG5cbmBgYFxuYGBgIn0= -->

```r
```r
t2_cases_per_cap <- tibble(
  year = t2_cases$year,
  country = t2_cases$country,
  cases = t2_cases$cases,
  population = t2_population$population
) %>%
  mutate(cases_per_cap = (cases / population) * 10000) %>%
  select(country, year, cases_per_cap)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->




<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxudDJfY2FzZXNfcGVyX2NhcCA8LSB0Ml9jYXNlc19wZXJfY2FwICU+JVxuICBtdXRhdGUodHlwZSA9IFxcY2FzZXNfcGVyX2NhcFxcKSAlPiVcbiAgcmVuYW1lKGNvdW50ID0gY2FzZXNfcGVyX2NhcClcblxuYGBgXG5gYGAifQ== -->

```r
```r
t2_cases_per_cap <- t2_cases_per_cap %>%
  mutate(type = \cases_per_cap\) %>%
  rename(count = cases_per_cap)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->



<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuYmluZF9yb3dzKHRhYmxlMiwgdDJfY2FzZXNfcGVyX2NhcCkgJT4lXG4gIGFycmFuZ2UoY291bnRyeSwgeWVhciwgdHlwZSwgY291bnQpXG5cbmBgYFxuYGBgIn0= -->

```r
```r
bind_rows(table2, t2_cases_per_cap) %>%
  arrange(country, year, type, count)

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->




<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxudGFibGU0YyA8LVxuICB0aWJibGUoXG4gICAgY291bnRyeSA9IHRhYmxlNGEkY291bnRyeSxcbiAgICBgMTk5OWAgPSB0YWJsZTRhW1tcXDE5OTlcXF1dIC8gdGFibGU0YltbXFwxOTk5XFxdXSAqIDEwMDAwLFxuICAgIGAyMDAwYCA9IHRhYmxlNGFbW1xcMjAwMFxcXV0gLyB0YWJsZTRiW1tcXDIwMDBcXF1dICogMTAwMDBcbiAgKVxudGFibGU0Y1xuYGBgXG5gYGAifQ== -->

```r
```r
table4c <-
  tibble(
    country = table4a$country,
    `1999` = table4a[[\1999\]] / table4b[[\1999\]] * 10000,
    `2000` = table4a[[\2000\]] / table4b[[\2000\]] * 10000
  )
table4c

<!-- rnb-source-end -->

<!-- rnb-chunk-end -->


<!-- rnb-text-begin -->


***Exercise 12.2.3***

**3.Recreate the plot showing change in cases over time using table2 instead of table1. What do you need to do first?**


<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYGBgclxuXG50YWJsZTIgJT4lXG4gIGZpbHRlcih0eXBlID09IFxcY2FzZXNcXCkgJT4lXG4gIGdncGxvdChhZXMoeWVhciwgY291bnQpKSArXG4gIGdlb21fbGluZShhZXMoZ3JvdXAgPSBjb3VudHJ5KSwgY29sb3VyID0gXFxncmV5NTBcXCkgK1xuICBnZW9tX3BvaW50KGFlcyhjb2xvdXIgPSBjb3VudHJ5KSkgK1xuICBzY2FsZV94X2NvbnRpbnVvdXMoYnJlYWtzID0gdW5pcXVlKHRhYmxlMiR5ZWFyKSkgK1xuICB5bGFiKFxcY2FzZXNcXClcblxuXG5gYGBcbmBgYCJ9 -->

```r
```r

table2 %>%
  filter(type == \cases\) %>%
  ggplot(aes(year, count)) +
  geom_line(aes(group = country), colour = \grey50\) +
  geom_point(aes(colour = country)) +
  scale_x_continuous(breaks = unique(table2$year)) +
  ylab(\cases\)

```

LS0tDQp0aXRsZTogIkNoYXB0ZXIgMTIgIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KIyMgKipFeGVyY2lzZSAxMi4yLjEqKg0KDQpgYGB7cn0NCmxpYnJhcnkodGlkeXZlcnNlKQ0KDQpgYGANCg0KDQojIyMjICAqKjEuVXNpbmcgcHJvc2UsIGRlc2NyaWJlIGhvdyB0aGUgdmFyaWFibGVzIGFuZCBvYnNlcnZhdGlvbnMgYXJlIG9yZ2FuaXplZCBpbiBlYWNoIG9mIHRoZSBzYW1wbGUgdGFibGVzID8qKg0KDQpJbiB0YWJsZTEsIEVhY2ggcm93IHJlcHJlc2VudHMgYSAoY291bnRyeSwgeWVhcikgY29tYmluYXRpb24uIFRoZSBjb2x1bW5zIGNhc2VzIGFuZCBwb3B1bGF0aW9uIGNvbnRhaW4gdGhlIHZhbHVlcyBmb3IgdGhvc2UgdmFyaWFibGVzLg0KDQpgYGB7cn0NCnRhYmxlMTsNCg0KDQpgYGANCg0KSW4gdGFibGUyLCBlYWNoIHJvdyByZXByZXNlbnRzIGEgKGNvdW50cnksIHllYXIsIHZhcmlhYmxlKSBjb21iaW5hdGlvbi4gVGhlIGNvbHVtbiBjb3VudCBjb250YWlucyB0aGUgdmFsdWVzIG9mIHZhcmlhYmxlcyBjYXNlcyBhbmQgcG9wdWxhdGlvbiBpbiBzZXBhcmF0ZSByb3dzLg0KDQpgYGB7cn0NCnRhYmxlMjsNCmBgYA0KDQpJbiB0YWJsZTMsIGVhY2ggcm93IHJlcHJlc2VudHMgYSAoY291bnRyeSwgeWVhcikgY29tYmluYXRpb24uIFRoZSBjb2x1bW4gcmF0ZSBwcm92aWRlcyB0aGUgdmFsdWVzIG9mIGJvdGggY2FzZXMgYW5kIHBvcHVsYXRpb24gaW4gYSBzdHJpbmcgZm9ybWF0dGVkIGxpa2UgY2FzZXMgLyBwb3B1bGF0aW9uIC4NCmBgYHtyfQ0KdGFibGUzOw0KYGBgDQoNClRhYmxlIDQgaXMgc3BsaXQgaW50byB0d28gdGFibGVzLCBvbmUgdGFibGUgZm9yIGVhY2ggdmFyaWFibGUuIFRoZSB0YWJsZSB0YWJsZTRhIGNvbnRhaW5zIHRoZSB2YWx1ZXMgb2YgY2FzZXMgYW5kIHRhYmxlNGIgY29udGFpbnMgdGhlIHZhbHVlcyBvZiBwb3B1bGF0aW9uLiBXaXRoaW4gZWFjaCB0YWJsZSwgZWFjaCByb3cgcmVwcmVzZW50cyBhIGNvdW50cnksIGVhY2ggY29sdW1uIHJlcHJlc2VudHMgYSB5ZWFyLCBhbmQgdGhlIGNlbGxzIGFyZSB0aGUgdmFsdWUgb2YgdGhlIHRhYmxl4oCZcyB2YXJpYWJsZSBmb3IgdGhhdCBjb3VudHJ5IGFuZCB5ZWFyLg0KDQpgYGB7cn0NCnRhYmxlNGE7DQpgYGANCg0KDQpgYGB7cn0NCnRhYmxlNGI7DQpgYGANCg0KDQpgYGB7cn0NCnRhYmxlNTsNCmBgYA0KKipFeGVyY2lzZSAxMi4yLjIqKg0KDQojIyMjICoqMi5Db21wdXRlIHRoZSByYXRlIGZvciB0YWJsZTIsIGFuZCB0YWJsZTRhICsgdGFibGU0Yi4gWW91IHdpbGwgbmVlZCB0byBwZXJmb3JtIGZvdXIgb3BlcmF0aW9uczoNCg0KKkV4dHJhY3QgdGhlIG51bWJlciBvZiBUQiBjYXNlcyBwZXIgY291bnRyeSBwZXIgeWVhci4NCipFeHRyYWN0IHRoZSBtYXRjaGluZyBwb3B1bGF0aW9uIHBlciBjb3VudHJ5IHBlciB5ZWFyLg0KKkRpdmlkZSBjYXNlcyBieSBwb3B1bGF0aW9uLCBhbmQgbXVsdGlwbHkgYnkgMTAwMDAuDQoqU3RvcmUgYmFjayBpbiB0aGUgYXBwcm9wcmlhdGUgcGxhY2UuDQoqV2hpY2ggcmVwcmVzZW50YXRpb24gaXMgZWFzaWVzdCB0byB3b3JrIHdpdGg/IFdoaWNoIGlzIGhhcmRlc3Q/IFdoeT8qKg0KDQpgYGB7cn0NCnQyX2Nhc2VzIDwtIGZpbHRlcih0YWJsZTIsIHR5cGUgPT0gImNhc2VzIikgJT4lDQogIHJlbmFtZShjYXNlcyA9IGNvdW50KSAlPiUNCiAgYXJyYW5nZShjb3VudHJ5LCB5ZWFyKQ0KdDJfcG9wdWxhdGlvbiA8LSBmaWx0ZXIodGFibGUyLCB0eXBlID09ICJwb3B1bGF0aW9uIikgJT4lDQogIHJlbmFtZShwb3B1bGF0aW9uID0gY291bnQpICU+JQ0KICBhcnJhbmdlKGNvdW50cnksIHllYXIpDQoNCmBgYA0KDQpgYGB7cn0NCnQyX2Nhc2VzX3Blcl9jYXAgPC0gdGliYmxlKA0KICB5ZWFyID0gdDJfY2FzZXMkeWVhciwNCiAgY291bnRyeSA9IHQyX2Nhc2VzJGNvdW50cnksDQogIGNhc2VzID0gdDJfY2FzZXMkY2FzZXMsDQogIHBvcHVsYXRpb24gPSB0Ml9wb3B1bGF0aW9uJHBvcHVsYXRpb24NCikgJT4lDQogIG11dGF0ZShjYXNlc19wZXJfY2FwID0gKGNhc2VzIC8gcG9wdWxhdGlvbikgKiAxMDAwMCkgJT4lDQogIHNlbGVjdChjb3VudHJ5LCB5ZWFyLCBjYXNlc19wZXJfY2FwKQ0KDQpgYGANCg0KDQpgYGB7cn0NCnQyX2Nhc2VzX3Blcl9jYXAgPC0gdDJfY2FzZXNfcGVyX2NhcCAlPiUNCiAgbXV0YXRlKHR5cGUgPSAiY2FzZXNfcGVyX2NhcCIpICU+JQ0KICByZW5hbWUoY291bnQgPSBjYXNlc19wZXJfY2FwKQ0KDQpgYGANCg0KYGBge3J9DQpiaW5kX3Jvd3ModGFibGUyLCB0Ml9jYXNlc19wZXJfY2FwKSAlPiUNCiAgYXJyYW5nZShjb3VudHJ5LCB5ZWFyLCB0eXBlLCBjb3VudCkNCg0KYGBgDQoNCg0KYGBge3J9DQp0YWJsZTRjIDwtDQogIHRpYmJsZSgNCiAgICBjb3VudHJ5ID0gdGFibGU0YSRjb3VudHJ5LA0KICAgIGAxOTk5YCA9IHRhYmxlNGFbWyIxOTk5Il1dIC8gdGFibGU0YltbIjE5OTkiXV0gKiAxMDAwMCwNCiAgICBgMjAwMGAgPSB0YWJsZTRhW1siMjAwMCJdXSAvIHRhYmxlNGJbWyIyMDAwIl1dICogMTAwMDANCiAgKQ0KdGFibGU0Yw0KYGBgDQoNCioqKkV4ZXJjaXNlIDEyLjIuMyoqKg0KDQoqKjMuUmVjcmVhdGUgdGhlIHBsb3Qgc2hvd2luZyBjaGFuZ2UgaW4gY2FzZXMgb3ZlciB0aW1lIHVzaW5nIHRhYmxlMiBpbnN0ZWFkIG9mIHRhYmxlMS4gV2hhdCBkbyB5b3UgbmVlZCB0byBkbyBmaXJzdD8qKg0KDQpgYGB7cn0NCg0KdGFibGUyICU+JQ0KICBmaWx0ZXIodHlwZSA9PSAiY2FzZXMiKSAlPiUNCiAgZ2dwbG90KGFlcyh5ZWFyLCBjb3VudCkpICsNCiAgZ2VvbV9saW5lKGFlcyhncm91cCA9IGNvdW50cnkpLCBjb2xvdXIgPSAiZ3JleTUwIikgKw0KICBnZW9tX3BvaW50KGFlcyhjb2xvdXIgPSBjb3VudHJ5KSkgKw0KICBzY2FsZV94X2NvbnRpbnVvdXMoYnJlYWtzID0gdW5pcXVlKHRhYmxlMiR5ZWFyKSkgKw0KICB5bGFiKCJjYXNlcyIpDQoNCg0KYGBgDQoNCg0KDQoNCg0KDQoNCg==