── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr 1.2.1 ✔ readr 2.2.0
✔ forcats 1.0.1 ✔ stringr 1.6.0
✔ ggplot2 4.0.3 ✔ tibble 3.3.1
✔ lubridate 1.9.5 ✔ tidyr 1.3.2
✔ purrr 1.2.2
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dslabs)library(treemap)
Load the Gapminder Dataset
I am now using the gapminder dataset that has country level data that includes the population the continent and the year and I will use those to build the treemap.
data(gapminder)head(gapminder)
country year infant_mortality life_expectancy fertility
1 Albania 1960 115.40 62.87 6.19
2 Algeria 1960 148.20 47.50 7.65
3 Angola 1960 208.00 35.98 7.32
4 Antigua and Barbuda 1960 NA 62.97 4.43
5 Argentina 1960 59.87 65.39 3.11
6 Armenia 1960 NA 66.86 4.55
population gdp continent region
1 1636054 NA Europe Southern Europe
2 11124892 13828152297 Africa Northern Africa
3 5270844 NA Africa Middle Africa
4 54681 NA Americas Caribbean
5 20619075 108322326649 Americas South America
6 1867396 NA Asia Western Asia
Filter to 2007 and sum population by continent
Now I am going to filter the data to just 2007, and then group the continent and calculate what the total population for each one is.
# A tibble: 5 × 2
continent total_population
<fct> <dbl>
1 Africa 948156290
2 Americas 911419886
3 Asia 3911346015
4 Europe 730984863
5 Oceania 34130212
Building the Treemap
Finally I am using the treemap function to visualize the total population by continent for the year of 2007, where the size of each rectangle is representing the population.
treemap(pop_by_continent,index ="continent",vSize ="total_population",title ="World Population by Continent, 2007")