Treemap Activity Dropbox George Bothos

Author

George Bothos

Load Libraries

library(tidyverse)
── 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.

pop_by_continent <- gapminder |>
  filter(year == 2007) |>
  group_by(continent) |>
  summarise(total_population = sum(population, na.rm = TRUE))

pop_by_continent
# 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")