We explore unemployment rates across the globe in this project. The data for the analysis is available here. Developing countries generally have higher levels of unemployment with Zimbabwe in particular having the highest unemployment rate in the world.

#--------------
# LOAD PACKAGES
#--------------
library(tidyverse)
library(rvest)
library(stringr)
library(viridis)
#---------------------------
# SCRAPE DATA FROM WIKIPEDIA
#---------------------------
unmployment <- read_html("http://www.indexmundi.com/map/?v=74") %>%
  html_nodes("table")%>%
  .[[3]]%>%
  html_table() %>%
  as.tibble()%>%arrange(`Country Name`)%>%rename(country=`Country Name`) 
# INSPECT
unmployment%>%head()
#--------------
# GET WORLD MAP
#--------------
map.world <- map_data('world')
#----------------------------------------------------
# Get country names
# - we can use this list and cross-reference
#   with the country names in the scraped data
# - when we find names that are not the same between
#   this map data and the scraped data, we can recode
#   the values
#----------------------------------------------------
map_data('world') %>% group_by(region) %>% summarise() %>% print(n = Inf)
#--------------------------------------------
# RECODE COUNTRY NAMES
# - some of the country names do not match
#   the names we will use later in our map
# - we will re-code so that the data matches
#   the names in the world map
#--------------------------------------------
unmployment<- unmployment %>% mutate(country = if_else(country == "Canada (2010)", 'Canada'
                                      ,if_else(country == "People's Republic of China", "China"
                                      ,if_else(country == "United States", "USA"
                                      ,if_else(country == "DR Congo","Democratic Republic of the Congo", country))))
                                )
#-----------------------------------------
# JOIN DATA
# - join the map data and the scraped-data
#-----------------------------------------
unmployment_data <- left_join(map.world, unmployment, by = c('region' = 'country'))
unmployment_data%>%head()
ggplot(data = unmployment_data, aes(x = long, y = lat, group = group)) +
  geom_polygon(aes(fill = `Unemployment rate (%)`)) +
  scale_fill_viridis(option = 'plasma')+labs(title="Unemployment Rates Accross the World",x="",y="")+
 
  theme(text = element_text(family = 'Gill Sans', color = '#EEEEEE')
        ,plot.title = element_text(size = 28)
        ,plot.subtitle = element_text(size = 14)
        ,axis.ticks = element_blank()
        ,axis.text = element_blank()
        ,panel.grid = element_blank()
        ,panel.background = element_rect(fill = '#333333')
        ,plot.background = element_rect(fill = '#333333')
        ,legend.position = c(.18,.36)
        ,legend.background = element_blank()
        ,legend.key = element_blank()
        )

ggplot(data = unmployment_data, aes(x = long, y = lat, group = group)) +
  geom_polygon(aes(fill = `Unemployment rate (%)`)) +
  scale_fill_gradientn(colours = c('#461863','#404E88','#2A8A8C','#7FD157','#F9E53F')
                       ,values = scales::rescale(c(5,10,20,40,95))
                       ,labels = comma
                       ,breaks = c(5,10,20,40,95)
                       ) +
  guides(fill = guide_legend(reverse = T)) +
labs(title="Unemployment Rates Accross the World",x="",y="")+
 
  theme(text = element_text(family = 'Gill Sans', color = '#EEEEEE')
        ,plot.title = element_text(size = 28)
        ,plot.subtitle = element_text(size = 14)
        ,axis.ticks = element_blank()
        ,axis.text = element_blank()
        ,panel.grid = element_blank()
        ,panel.background = element_rect(fill = '#333333')
        ,plot.background = element_rect(fill = '#333333')
        ,legend.position = c(.18,.36)
        ,legend.background = element_blank()
        ,legend.key = element_blank()
        )+
  
  annotate(geom = 'text'
           ,label = 'Source:  http://www.indexmundi.com/map/?v=74'
           ,x = 18, y = -55
           ,size = 3
           ,family = 'Gill Sans'
           ,color = '#CCCCCC'
           ,hjust = 'left'
           )

LS0tCnRpdGxlOiAiV29ybGQgVW5lbXBsb3ltZW50IGxldmVscyAiCm91dHB1dDogaHRtbF9ub3RlYm9vawphdXRob3I6IE5hbmEgQm9hdGVuZwpkZl9wcmludDogcGFnZWQKVGltZTogJ2ByIFN5cy50aW1lKClgJwpkYXRlOiAiYHIgZm9ybWF0KFN5cy50aW1lKCksICclQiAlZCwgJVknKWAiCi0tLQoKV2UgZXhwbG9yZSB1bmVtcGxveW1lbnQgcmF0ZXMgYWNyb3NzIHRoZSBnbG9iZSBpbiB0aGlzIHByb2plY3QuICBUaGUgZGF0YSBmb3IgdGhlIGFuYWx5c2lzIGlzIGF2YWlsYWJsZSBbaGVyZV0oaHR0cDovL3d3dy5pbmRleG11bmRpLmNvbS9tYXAvP3Y9NzQpLiBEZXZlbG9waW5nIGNvdW50cmllcyBnZW5lcmFsbHkgaGF2ZSBoaWdoZXIgbGV2ZWxzIG9mIHVuZW1wbG95bWVudCB3aXRoIFppbWJhYndlIGluIHBhcnRpY3VsYXIgaGF2aW5nIHRoZSBoaWdoZXN0IHVuZW1wbG95bWVudCByYXRlIGluIHRoZSB3b3JsZC4KCgpgYGB7ciBzZXR1cCxpbmNsdWRlPUZBTFNFfQoKa25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgd2FybmluZyA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgb3V0LndpZHRoID0iMTAwJSIsCiAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICBmaWcuYWxpZ24gPSAnZGVmYXVsdCcsIAogICAgICAgICAgICAgICAgICAgICAgd2FybmluZyA9IEZBTFNFLCAKICAgICAgICAgICAgICAgICAgICAgIGZpZy5jYXAgPSJGaWcuIDMwIiwgCiAgICAgICAgICAgICAgICAgICAgICBvdXQud2lkdGg9IjEwMCUiKQoKb3B0aW9ucyhyZXByLnBsb3QuaGVpZ2h0ID0gNSwgcmVwci5wbG90LndpZHRoID0gNikKb3B0aW9ucyh0aWR5dmVyc2UucXVpZXQgPSBUUlVFKQoKI2luY3JlYWUgdGhlIHNpemUgb2YgZ2dwbG90CmtuaXRyOjpvcHRzX2NodW5rJHNldChmaWcud2lkdGg9NSwgZmlnLmhlaWdodD00KSAKCmBgYAoKCmBgYHtyfQojLS0tLS0tLS0tLS0tLS0KIyBMT0FEIFBBQ0tBR0VTCiMtLS0tLS0tLS0tLS0tLQoKbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkocnZlc3QpCmxpYnJhcnkoc3RyaW5ncikKbGlicmFyeSh2aXJpZGlzKQpgYGAKCgoKYGBge3J9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTQ1JBUEUgREFUQSBGUk9NIFdJS0lQRURJQQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgp1bm1wbG95bWVudCA8LSByZWFkX2h0bWwoImh0dHA6Ly93d3cuaW5kZXhtdW5kaS5jb20vbWFwLz92PTc0IikgJT4lCiAgaHRtbF9ub2RlcygidGFibGUiKSU+JQogIC5bWzNdXSU+JQogIGh0bWxfdGFibGUoKSAlPiUKICBhcy50aWJibGUoKSU+JWFycmFuZ2UoYENvdW50cnkgTmFtZWApJT4lcmVuYW1lKGNvdW50cnk9YENvdW50cnkgTmFtZWApIAoKCgojIElOU1BFQ1QKdW5tcGxveW1lbnQlPiVoZWFkKCkKYGBgCgoKCgoKCmBgYHtyfQojLS0tLS0tLS0tLS0tLS0KIyBHRVQgV09STEQgTUFQCiMtLS0tLS0tLS0tLS0tLQoKbWFwLndvcmxkIDwtIG1hcF9kYXRhKCd3b3JsZCcpCmBgYAoKCgoKYGBge3J9CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgR2V0IGNvdW50cnkgbmFtZXMKIyAtIHdlIGNhbiB1c2UgdGhpcyBsaXN0IGFuZCBjcm9zcy1yZWZlcmVuY2UKIyAgIHdpdGggdGhlIGNvdW50cnkgbmFtZXMgaW4gdGhlIHNjcmFwZWQgZGF0YQojIC0gd2hlbiB3ZSBmaW5kIG5hbWVzIHRoYXQgYXJlIG5vdCB0aGUgc2FtZSBiZXR3ZWVuCiMgICB0aGlzIG1hcCBkYXRhIGFuZCB0aGUgc2NyYXBlZCBkYXRhLCB3ZSBjYW4gcmVjb2RlCiMgICB0aGUgdmFsdWVzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgptYXBfZGF0YSgnd29ybGQnKSAlPiUgZ3JvdXBfYnkocmVnaW9uKSAlPiUgc3VtbWFyaXNlKCkgJT4lIHByaW50KG4gPSBJbmYpCmBgYAoKCmBgYHtyfQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBSRUNPREUgQ09VTlRSWSBOQU1FUwojIC0gc29tZSBvZiB0aGUgY291bnRyeSBuYW1lcyBkbyBub3QgbWF0Y2gKIyAgIHRoZSBuYW1lcyB3ZSB3aWxsIHVzZSBsYXRlciBpbiBvdXIgbWFwCiMgLSB3ZSB3aWxsIHJlLWNvZGUgc28gdGhhdCB0aGUgZGF0YSBtYXRjaGVzCiMgICB0aGUgbmFtZXMgaW4gdGhlIHdvcmxkIG1hcAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KdW5tcGxveW1lbnQ8LSB1bm1wbG95bWVudCAlPiUgbXV0YXRlKGNvdW50cnkgPSBpZl9lbHNlKGNvdW50cnkgPT0gIkNhbmFkYSAoMjAxMCkiLCAnQ2FuYWRhJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxpZl9lbHNlKGNvdW50cnkgPT0gIlBlb3BsZSdzIFJlcHVibGljIG9mIENoaW5hIiwgIkNoaW5hIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxpZl9lbHNlKGNvdW50cnkgPT0gIlVuaXRlZCBTdGF0ZXMiLCAiVVNBIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxpZl9lbHNlKGNvdW50cnkgPT0gIkRSIENvbmdvIiwiRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUgQ29uZ28iLCBjb3VudHJ5KSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKYGBgCgoKCgpgYGB7cn0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSk9JTiBEQVRBCiMgLSBqb2luIHRoZSBtYXAgZGF0YSBhbmQgdGhlIHNjcmFwZWQtZGF0YQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCnVubXBsb3ltZW50X2RhdGEgPC0gbGVmdF9qb2luKG1hcC53b3JsZCwgdW5tcGxveW1lbnQsIGJ5ID0gYygncmVnaW9uJyA9ICdjb3VudHJ5JykpCgp1bm1wbG95bWVudF9kYXRhJT4laGVhZCgpCmBgYAoKCgpgYGB7cn0KZ2dwbG90KGRhdGEgPSB1bm1wbG95bWVudF9kYXRhLCBhZXMoeCA9IGxvbmcsIHkgPSBsYXQsIGdyb3VwID0gZ3JvdXApKSArCiAgZ2VvbV9wb2x5Z29uKGFlcyhmaWxsID0gYFVuZW1wbG95bWVudCByYXRlICglKWApKSArCiAgc2NhbGVfZmlsbF92aXJpZGlzKG9wdGlvbiA9ICdwbGFzbWEnKStsYWJzKHRpdGxlPSJVbmVtcGxveW1lbnQgUmF0ZXMgQWNjcm9zcyB0aGUgV29ybGQiLHg9IiIseT0iIikrCiAKICB0aGVtZSh0ZXh0ID0gZWxlbWVudF90ZXh0KGZhbWlseSA9ICdHaWxsIFNhbnMnLCBjb2xvciA9ICcjRUVFRUVFJykKICAgICAgICAscGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplID0gMjgpCiAgICAgICAgLHBsb3Quc3VidGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE0KQogICAgICAgICxheGlzLnRpY2tzID0gZWxlbWVudF9ibGFuaygpCiAgICAgICAgLGF4aXMudGV4dCA9IGVsZW1lbnRfYmxhbmsoKQogICAgICAgICxwYW5lbC5ncmlkID0gZWxlbWVudF9ibGFuaygpCiAgICAgICAgLHBhbmVsLmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9ICcjMzMzMzMzJykKICAgICAgICAscGxvdC5iYWNrZ3JvdW5kID0gZWxlbWVudF9yZWN0KGZpbGwgPSAnIzMzMzMzMycpCiAgICAgICAgLGxlZ2VuZC5wb3NpdGlvbiA9IGMoLjE4LC4zNikKICAgICAgICAsbGVnZW5kLmJhY2tncm91bmQgPSBlbGVtZW50X2JsYW5rKCkKICAgICAgICAsbGVnZW5kLmtleSA9IGVsZW1lbnRfYmxhbmsoKQogICAgICAgICkKCgpgYGAKCgpgYGB7cn0KZ2dwbG90KGRhdGEgPSB1bm1wbG95bWVudF9kYXRhLCBhZXMoeCA9IGxvbmcsIHkgPSBsYXQsIGdyb3VwID0gZ3JvdXApKSArCiAgZ2VvbV9wb2x5Z29uKGFlcyhmaWxsID0gYFVuZW1wbG95bWVudCByYXRlICglKWApKSArCiAgc2NhbGVfZmlsbF9ncmFkaWVudG4oY29sb3VycyA9IGMoJyM0NjE4NjMnLCcjNDA0RTg4JywnIzJBOEE4QycsJyM3RkQxNTcnLCcjRjlFNTNGJykKICAgICAgICAgICAgICAgICAgICAgICAsdmFsdWVzID0gc2NhbGVzOjpyZXNjYWxlKGMoNSwxMCwyMCw0MCw5NSkpCiAgICAgICAgICAgICAgICAgICAgICAgLGxhYmVscyA9IGNvbW1hCiAgICAgICAgICAgICAgICAgICAgICAgLGJyZWFrcyA9IGMoNSwxMCwyMCw0MCw5NSkKICAgICAgICAgICAgICAgICAgICAgICApICsKICBndWlkZXMoZmlsbCA9IGd1aWRlX2xlZ2VuZChyZXZlcnNlID0gVCkpICsKCgpsYWJzKHRpdGxlPSJVbmVtcGxveW1lbnQgUmF0ZXMgQWNjcm9zcyB0aGUgV29ybGQiLHg9IiIseT0iIikrCiAKICB0aGVtZSh0ZXh0ID0gZWxlbWVudF90ZXh0KGZhbWlseSA9ICdHaWxsIFNhbnMnLCBjb2xvciA9ICcjRUVFRUVFJykKICAgICAgICAscGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplID0gMjgpCiAgICAgICAgLHBsb3Quc3VidGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE0KQogICAgICAgICxheGlzLnRpY2tzID0gZWxlbWVudF9ibGFuaygpCiAgICAgICAgLGF4aXMudGV4dCA9IGVsZW1lbnRfYmxhbmsoKQogICAgICAgICxwYW5lbC5ncmlkID0gZWxlbWVudF9ibGFuaygpCiAgICAgICAgLHBhbmVsLmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9ICcjMzMzMzMzJykKICAgICAgICAscGxvdC5iYWNrZ3JvdW5kID0gZWxlbWVudF9yZWN0KGZpbGwgPSAnIzMzMzMzMycpCiAgICAgICAgLGxlZ2VuZC5wb3NpdGlvbiA9IGMoLjE4LC4zNikKICAgICAgICAsbGVnZW5kLmJhY2tncm91bmQgPSBlbGVtZW50X2JsYW5rKCkKICAgICAgICAsbGVnZW5kLmtleSA9IGVsZW1lbnRfYmxhbmsoKQogICAgICAgICkrCiAgCiAgYW5ub3RhdGUoZ2VvbSA9ICd0ZXh0JwogICAgICAgICAgICxsYWJlbCA9ICdTb3VyY2U6ICBodHRwOi8vd3d3LmluZGV4bXVuZGkuY29tL21hcC8/dj03NCcKICAgICAgICAgICAseCA9IDE4LCB5ID0gLTU1CiAgICAgICAgICAgLHNpemUgPSAzCiAgICAgICAgICAgLGZhbWlseSA9ICdHaWxsIFNhbnMnCiAgICAgICAgICAgLGNvbG9yID0gJyNDQ0NDQ0MnCiAgICAgICAgICAgLGhqdXN0ID0gJ2xlZnQnCiAgICAgICAgICAgKQpgYGAKCg==