Some of the code from Chapter 3, Section 1.

In this chapter ggplot2 is introduced. We will discuss ggplot2 more in Stat. 651.

The main idea of making graphs with ggplot2 is the idea of mappings that are applied as asthetics in a plot.

The ggplot2 package is part of the tidyverse. We will install and load the tidyverse.

library(mdsr)
library(tidyverse)
CIACountries
ABCDEFGHIJ0123456789
country
<chr>
pop
<dbl>
area
<dbl>
oil_prod
<dbl>
gdp
<dbl>
educ
<dbl>
roadways
<dbl>
Afghanistan3256434265223001900NA0.064624442
Albania30292782874820510119003.30.626130513
Algeria3954216623817411420000145004.30.047719294
American Samoa54343199013000NA1.211055276
Andorra85580468NA37200NA0.683760684
Angola196253531246700174200073003.50.041252106
Anguilla1641891NA122002.81.923076923
Antigua and Barbuda924364430236002.42.641083521
Argentina434318862780400532100226006.30.083216084
Armenia305638229743085003.30.259052550

Aesthetics

g <- ggplot(data = CIACountries, aes(y = gdp, x = educ))
g + geom_point(size = 3)

g + geom_point(aes(color = net_users), size = 3)

g <- ggplot(data = CIACountries, aes(y = gdp, x = educ, label = country, color = net_users))
g + geom_text(size = 3)

Scale

g <- ggplot(data = CIACountries, aes(y = gdp, x = educ))
g + geom_point(size = 3)

g + geom_point(aes(color = net_users, size = roadways)) 

g + geom_point(aes(color = net_users, size = roadways)) +
   coord_trans(y = "log10")

Facets

g + geom_point(alpha = 0.9, aes(size = roadways)) +
   coord_trans(y = "log10") +
  facet_wrap( ~ net_users, nrow = 1) +
  theme(legend.position = "top")

LS0tCnRpdGxlOiAiRGF0YSBWaXN1YWxpemF0aW9uIFIiCmF1dGhvcjogIlByb2YuIEVyaWMgQS4gU3Vlc3MiCm91dHB1dDoKICB3b3JkX2RvY3VtZW50OiBkZWZhdWx0CiAgaHRtbF9ub3RlYm9vazogZGVmYXVsdAogIHBkZl9kb2N1bWVudDogZGVmYXVsdAotLS0KClNvbWUgb2YgdGhlIGNvZGUgZnJvbSBDaGFwdGVyIDMsIFNlY3Rpb24gMS4KCkluIHRoaXMgY2hhcHRlciBnZ3Bsb3QyIGlzIGludHJvZHVjZWQuICBXZSB3aWxsIGRpc2N1c3MgZ2dwbG90MiBtb3JlIGluIFN0YXQuIDY1MS4KClRoZSBtYWluIGlkZWEgb2YgbWFraW5nIGdyYXBocyB3aXRoIGdncGxvdDIgaXMgdGhlIGlkZWEgb2YgbWFwcGluZ3MgdGhhdCBhcmUgYXBwbGllZCBhcyBhc3RoZXRpY3MgaW4gYSBwbG90LgoKVGhlIGdncGxvdDIgcGFja2FnZSBpcyBwYXJ0IG9mIHRoZSB0aWR5dmVyc2UuICBXZSB3aWxsIGluc3RhbGwgYW5kIGxvYWQgdGhlIHRpZHl2ZXJzZS4KCmBgYHtyIG1lc3NhZ2U9RkFMU0V9CmxpYnJhcnkobWRzcikKbGlicmFyeSh0aWR5dmVyc2UpCmBgYAoKCgpgYGB7cn0KQ0lBQ291bnRyaWVzCmBgYAoKIyBBZXN0aGV0aWNzCgpgYGB7cn0KZyA8LSBnZ3Bsb3QoZGF0YSA9IENJQUNvdW50cmllcywgYWVzKHkgPSBnZHAsIHggPSBlZHVjKSkKZyArIGdlb21fcG9pbnQoc2l6ZSA9IDMpCgpnICsgZ2VvbV9wb2ludChhZXMoY29sb3IgPSBuZXRfdXNlcnMpLCBzaXplID0gMykKYGBgCgoKYGBge3J9CmcgPC0gZ2dwbG90KGRhdGEgPSBDSUFDb3VudHJpZXMsIGFlcyh5ID0gZ2RwLCB4ID0gZWR1YywgbGFiZWwgPSBjb3VudHJ5LCBjb2xvciA9IG5ldF91c2VycykpCmcgKyBnZW9tX3RleHQoc2l6ZSA9IDMpCmBgYAoKIyMgU2NhbGUKCmBgYHtyfQpnIDwtIGdncGxvdChkYXRhID0gQ0lBQ291bnRyaWVzLCBhZXMoeSA9IGdkcCwgeCA9IGVkdWMpKQpnICsgZ2VvbV9wb2ludChzaXplID0gMykKCmcgKyBnZW9tX3BvaW50KGFlcyhjb2xvciA9IG5ldF91c2Vycywgc2l6ZSA9IHJvYWR3YXlzKSkgCgpnICsgZ2VvbV9wb2ludChhZXMoY29sb3IgPSBuZXRfdXNlcnMsIHNpemUgPSByb2Fkd2F5cykpICsKICAgY29vcmRfdHJhbnMoeSA9ICJsb2cxMCIpCmBgYAoKIyMgRmFjZXRzCgpgYGB7cn0KZyArIGdlb21fcG9pbnQoYWxwaGEgPSAwLjksIGFlcyhzaXplID0gcm9hZHdheXMpKSArCiAgIGNvb3JkX3RyYW5zKHkgPSAibG9nMTAiKSArCiAgZmFjZXRfd3JhcCggfiBuZXRfdXNlcnMsIG5yb3cgPSAxKSArCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gInRvcCIpCmBgYAo=