library(tidyverse)
library(scales)
library(gapminder)
This document presents some modifications on the health-and-wealth
plot.
Rebuilding the Health-and-Wealth Plot
Here is the code for the plot shown in class on Wednesday:
gapminder %>%
filter(year == 2007) %>%
ggplot() +
aes(x = gdpPercap, y = lifeExp) +
geom_point(alpha = .8) +
aes(color = continent) +
aes(size = pop) +
scale_x_continuous(
breaks = c(400, 4000, 40000),
trans = "log10") +
labs(x = "GDP per Capita") +
labs(y = "Life Expectancy (years)") +
labs(color = "Continent") +
labs(size = "Population") +
scale_size_area(labels = label_comma()) +
theme_bw() +
annotation_logticks(sides = "b")
🚧 Type or copy this code into the following code chunk one line at a
time, running the code for each new line to see what it does. We’ve
started the process for you.
# Start with the dataset from the GapMinder package.
gapminder %>%
# Include only the records where ...
filter(year == 2007)
## # A tibble: 142 × 6
## country continent year lifeExp pop gdpPercap
## <fct> <fct> <int> <dbl> <int> <dbl>
## 1 Afghanistan Asia 2007 43.8 31889923 975.
## 2 Albania Europe 2007 76.4 3600523 5937.
## 3 Algeria Africa 2007 72.3 33333216 6223.
## 4 Angola Africa 2007 42.7 12420476 4797.
## 5 Argentina Americas 2007 75.3 40301927 12779.
## 6 Australia Oceania 2007 81.2 20434176 34435.
## 7 Austria Europe 2007 79.8 8199783 36126.
## 8 Bahrain Asia 2007 75.6 708573 29796.
## 9 Bangladesh Asia 2007 64.1 150448339 1391.
## 10 Belgium Europe 2007 79.4 10392226 33693.
## # … with 132 more rows
Notes:
You can run the code chuck and see the output in the RStudio
editor pane by pressing the green arrow (on the upper right of the
chunk).
Write a comment about what that line does using the
# comment notation. The first 1.5 comments are written for
you (e.g., # Include only the records where...).
Omit the %>% (the pipe operator) or
+ at the end of a line until you’re ready to enter the next
line (e.g., you’ll need to add %>% to the end of the
filter line to go on).
Practice using tab completion and the keyboard shortcut
Ctrl-Shift-M to enter the %>%.
Look up the Help for a few of the functions by clicking on the
function name and then pressing the F1 key.
Run the chunk. Observe what changed from what was there
before.
Modifying the Health-and-Wealth Plot
Here is a modified version of the previous plot.
🚧 Duplicate your code chunk here, change its name (e.g.,
{r more-health-and-wealth}), and try these extensions:
- Change the year to your birth year or another interesting year in
history. Note: here are the available years:
unique(gapminder$year)
## [1] 1952 1957 1962 1967 1972 1977 1982 1987 1992 1997 2002 2007
Try combining the aes lines together into a single
aes command (with commas between the parts). Then try the
same for the labs.
Use commas in the x axis labels. (Find the part that
adds commas to the scale for area. Use the
same labels code in the part that already customizes other
aspects of the scale for x.)
Modify the scaling range of the y axis by adding this line
coord_cartesian(ylim = c(40, 90)) + and setting the y
limits to something you consider appropriate.
Try some other themes.
(at least try theme_gray, theme_classic, and
theme_minimal).
Be prepared to submit your final RMarkdown file.
LS0tCnRpdGxlOiAiTGFiIDMuMiAtIFZpc3VhbGl6YXRpb24gQ29tcG9zaXRpb24iCmF1dGhvcjogIkF1dGhvciBHb2VzIEhlcmUiCmRhdGU6ICJTZW1lc3RlciBHb2VzIEhlcmUiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgY29kZV9kb3dubG9hZDogdHJ1ZQotLS0KCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpCmBgYAoKYGBge3IgbWVzc2FnZSA9IEZBTFNFLCB3YXJuaW5nID0gRkFMU0V9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KHNjYWxlcykKbGlicmFyeShnYXBtaW5kZXIpCmBgYAoKVGhpcyBkb2N1bWVudCBwcmVzZW50cyBzb21lIG1vZGlmaWNhdGlvbnMgb24gdGhlIGhlYWx0aC1hbmQtd2VhbHRoIHBsb3QuCgojIyBSZWJ1aWxkaW5nIHRoZSBIZWFsdGgtYW5kLVdlYWx0aCBQbG90CgpIZXJlIGlzIHRoZSBjb2RlIGZvciB0aGUgcGxvdCBzaG93biBpbiBjbGFzcyBvbiBXZWRuZXNkYXk6CgpgYGB7cn0KZ2FwbWluZGVyICU+JSAKICBmaWx0ZXIoeWVhciA9PSAyMDA3KSAlPiUgCiAgZ2dwbG90KCkgKwogIGFlcyh4ID0gZ2RwUGVyY2FwLCB5ID0gbGlmZUV4cCkgKwogIGdlb21fcG9pbnQoYWxwaGEgPSAuOCkgKyAKICBhZXMoY29sb3IgPSBjb250aW5lbnQpICsKICBhZXMoc2l6ZSA9IHBvcCkgKyAKICBzY2FsZV94X2NvbnRpbnVvdXMoCiAgICBicmVha3MgPSBjKDQwMCwgNDAwMCwgNDAwMDApLAogICAgdHJhbnMgPSAibG9nMTAiKSArCiAgbGFicyh4ID0gIkdEUCBwZXIgQ2FwaXRhIikgKwogIGxhYnMoeSA9ICJMaWZlIEV4cGVjdGFuY3kgKHllYXJzKSIpICsKICBsYWJzKGNvbG9yID0gIkNvbnRpbmVudCIpICsKICBsYWJzKHNpemUgPSAiUG9wdWxhdGlvbiIpICsKICBzY2FsZV9zaXplX2FyZWEobGFiZWxzID0gbGFiZWxfY29tbWEoKSkgKwogIHRoZW1lX2J3KCkgKyAKICBhbm5vdGF0aW9uX2xvZ3RpY2tzKHNpZGVzID0gImIiKQpgYGAK8J+apwpUeXBlIG9yIGNvcHkgdGhpcyBjb2RlIGludG8gdGhlIGZvbGxvd2luZyBjb2RlIGNodW5rIG9uZSBsaW5lIGF0IGEgdGltZSwgcnVubmluZyB0aGUgY29kZSBmb3IgZWFjaCBuZXcgbGluZSB0byBzZWUgd2hhdCBpdCBkb2VzLiBXZSd2ZSBzdGFydGVkIHRoZSBwcm9jZXNzIGZvciB5b3UuCgpgYGB7ciBoZWFsdGgtYW5kLXdlYWx0aH0KIyBTdGFydCB3aXRoIHRoZSBkYXRhc2V0IGZyb20gdGhlIEdhcE1pbmRlciBwYWNrYWdlLgpnYXBtaW5kZXIgJT4lIAogICMgSW5jbHVkZSBvbmx5IHRoZSByZWNvcmRzIHdoZXJlIC4uLgogIGZpbHRlcih5ZWFyID09IDIwMDcpCmBgYAoKTm90ZXM6CgotIFlvdSBjYW4gcnVuIHRoZSBjb2RlIGNodWNrIGFuZCBzZWUgdGhlIG91dHB1dCBpbiB0aGUgUlN0dWRpbyBlZGl0b3IgcGFuZSBieSBwcmVzc2luZyB0aGUgZ3JlZW4gYXJyb3cgKG9uIHRoZSB1cHBlciByaWdodCBvZiB0aGUgY2h1bmspLgoKLSBXcml0ZSBhIGNvbW1lbnQgYWJvdXQgd2hhdCB0aGF0IGxpbmUgZG9lcyB1c2luZyB0aGUgYCNgIGNvbW1lbnQgbm90YXRpb24uIFRoZSBmaXJzdCAxLjUgY29tbWVudHMgYXJlIHdyaXR0ZW4gZm9yIHlvdSAoZS5nLiwgYCMgSW5jbHVkZSBvbmx5IHRoZSByZWNvcmRzIHdoZXJlLi4uYCkuCiAgCi0gT21pdCB0aGUgYCAlPiUgYCAodGhlICpwaXBlKiBvcGVyYXRvcikgb3IgYCtgIGF0IHRoZSBlbmQgb2YgYSBsaW5lIHVudGlsIHlvdSdyZSByZWFkeSB0byBlbnRlciB0aGUgbmV4dCBsaW5lIChlLmcuLCB5b3UnbGwgbmVlZCB0byBhZGQgYCU+JWAgdG8gdGhlIGVuZCBvZiB0aGUgZmlsdGVyIGxpbmUgdG8gZ28gb24pLgoKLSBQcmFjdGljZSB1c2luZyB0YWIgY29tcGxldGlvbiBhbmQgdGhlIGtleWJvYXJkIHNob3J0Y3V0IGBDdHJsLVNoaWZ0LU1gIHRvIGVudGVyIHRoZSBgICU+JSBgLgogICAgCi0gTG9vayB1cCB0aGUgSGVscCBmb3IgYSBmZXcgb2YgdGhlIGZ1bmN0aW9ucyBieSBjbGlja2luZyBvbiB0aGUgZnVuY3Rpb24gbmFtZSBhbmQgdGhlbiBwcmVzc2luZyB0aGUgYEYxYCBrZXkuCiAgCi0gUnVuIHRoZSBjaHVuay4gT2JzZXJ2ZSB3aGF0IGNoYW5nZWQgZnJvbSB3aGF0IHdhcyB0aGVyZSBiZWZvcmUuCgojIyBNb2RpZnlpbmcgdGhlIEhlYWx0aC1hbmQtV2VhbHRoIFBsb3QKCkhlcmUgaXMgYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBwcmV2aW91cyBwbG90LgoK8J+apwpEdXBsaWNhdGUgeW91ciBjb2RlIGNodW5rIGhlcmUsIGNoYW5nZSBpdHMgbmFtZSAoZS5nLiwgYHtyIG1vcmUtaGVhbHRoLWFuZC13ZWFsdGh9YCksIGFuZCB0cnkgdGhlc2UgZXh0ZW5zaW9uczoKCi0gQ2hhbmdlIHRoZSB5ZWFyIHRvIHlvdXIgYmlydGggeWVhciBvciBhbm90aGVyIGludGVyZXN0aW5nIHllYXIgaW4gaGlzdG9yeS4gTm90ZTogaGVyZSBhcmUgdGhlIGF2YWlsYWJsZSB5ZWFyczoKCmBgYHtyfQp1bmlxdWUoZ2FwbWluZGVyJHllYXIpCmBgYAoKLSBUcnkgY29tYmluaW5nIHRoZSBgYWVzYCBsaW5lcyB0b2dldGhlciBpbnRvIGEgc2luZ2xlIGBhZXNgIGNvbW1hbmQgKHdpdGggY29tbWFzIGJldHdlZW4gdGhlIHBhcnRzKS4gVGhlbiB0cnkgdGhlIHNhbWUgZm9yIHRoZSBgbGFic2AuCgotIFVzZSBjb21tYXMgaW4gdGhlIGB4YCBheGlzIGxhYmVscy4gKEZpbmQgdGhlIHBhcnQgdGhhdCBhZGRzIGNvbW1hcyB0byB0aGUgYHNjYWxlYCBmb3IgYGFyZWFgLiBVc2UgdGhlIHNhbWUgYGxhYmVsc2AgY29kZSBpbiB0aGUgcGFydCB0aGF0IGFscmVhZHkgY3VzdG9taXplcyBvdGhlciBhc3BlY3RzIG9mIHRoZSBgc2NhbGVgIGZvciBgeGAuKQoKLSBNb2RpZnkgdGhlIHNjYWxpbmcgcmFuZ2Ugb2YgdGhlIHkgYXhpcyBieSBhZGRpbmcgdGhpcyBsaW5lIGBjb29yZF9jYXJ0ZXNpYW4oeWxpbSA9IGMoNDAsIDkwKSkgK2AgYW5kIHNldHRpbmcgdGhlIHkgbGltaXRzIHRvIHNvbWV0aGluZyB5b3UgY29uc2lkZXIgYXBwcm9wcmlhdGUuCgotIFRyeSBzb21lIG90aGVyIFt0aGVtZXNdKGh0dHBzOi8vZ2dwbG90Mi50aWR5dmVyc2Uub3JnL3JlZmVyZW5jZS9nZ3RoZW1lLmh0bWwpLiAoYXQgbGVhc3QgdHJ5IGB0aGVtZV9ncmF5YCwgYHRoZW1lX2NsYXNzaWNgLCBhbmQgYHRoZW1lX21pbmltYWxgKS4KCkJlIHByZXBhcmVkIHRvIHN1Ym1pdCB5b3VyIGZpbmFsIFJNYXJrZG93biBmaWxlLiAKCjwhLS0gQmFzZWQgb246IGh0dHBzOi8vY3MuY2FsdmluLmVkdS9jb3Vyc2VzL2RhdGEvMjAyLzIxZmEvZXgvZXgwMi9leDAyLXBsb3R0aW5nLWluc3QuaHRtbCAtLT4K