Nneka’s Nation Plots

Load Libraries

library(tidyverse)
library(dplyr)
library(ggplot2)
library(plotly)
nations <- read_csv("/Users/nnokigbo/Downloads/nations.csv")
Rows: 5275 Columns: 10── Column specification ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Delimiter: ","
chr (5): iso2c, iso3c, country, region, income
dbl (5): year, gdp_percap, population, birth_rate, neonat_mortal_rate
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
head(nations)

Creating mutation for plot 1

nations1 <- nations |> 
  mutate(gdp = (gdp_percap * population) / 1000000000000) |>
  filter(country %in% c("China", "Germany", "Japan", "United States"))
head(nations1)

Plot 1

plot1 <- nations1 |>
  ggplot(aes(x = year, y = gdp, color = country)) +
  geom_point() +
  geom_line() +
  scale_color_brewer(palette = "Set1") +
  labs(
    x = "Year",
    y = "GDP ($Trillions)",
    title = "China's Rise to Become the Largest Economy"
  )
plot1 <- ggplotly(plot1)
plot1

Summarization of plot 2

nations2 <- nations |> 
  mutate(gdp = (gdp_percap * population) / 1000000000000) |>
  group_by(year, region) |>
  summarise(sum_GDP = sum(gdp, na.rm = TRUE))

head(nations2)
  

Plot 2

plot2 <- nations2 |>
  ggplot(aes(x = year, y = sum_GDP, fill = region)) +
  geom_area(color = "white") +
  scale_fill_brewer(palette = "Set2") +
  labs(
    title = "GDP by World Bank Region",
    x = "Year",
    y = "GDP ($Trillion)"
  )

plot2 <- ggplotly(plot2)
plot2
LS0tCnRpdGxlOiAiTm5la2EncyBOYXRpb24gUGxvdHMiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCiMgTm5la2EncyBOYXRpb24gUGxvdHMKCiMjIExvYWQgTGlicmFyaWVzCgpgYGB7cn0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoZHBseXIpCmxpYnJhcnkoZ2dwbG90MikKbGlicmFyeShwbG90bHkpCm5hdGlvbnMgPC0gcmVhZF9jc3YoIi9Vc2Vycy9ubm9raWdiby9Eb3dubG9hZHMvbmF0aW9ucy5jc3YiKQpgYGAKCmBgYHtyfQpoZWFkKG5hdGlvbnMpCmBgYAoKIyMgQ3JlYXRpbmcgbXV0YXRpb24gZm9yIHBsb3QgMQoKYGBge3J9Cm5hdGlvbnMxIDwtIG5hdGlvbnMgfD4gCiAgbXV0YXRlKGdkcCA9IChnZHBfcGVyY2FwICogcG9wdWxhdGlvbikgLyAxMDAwMDAwMDAwMDAwKSB8PgogIGZpbHRlcihjb3VudHJ5ICVpbiUgYygiQ2hpbmEiLCAiR2VybWFueSIsICJKYXBhbiIsICJVbml0ZWQgU3RhdGVzIikpCmhlYWQobmF0aW9uczEpCmBgYAoKIyMgUGxvdCAxCgpgYGB7cn0KcGxvdDEgPC0gbmF0aW9uczEgfD4KICBnZ3Bsb3QoYWVzKHggPSB5ZWFyLCB5ID0gZ2RwLCBjb2xvciA9IGNvdW50cnkpKSArCiAgZ2VvbV9wb2ludCgpICsKICBnZW9tX2xpbmUoKSArCiAgc2NhbGVfY29sb3JfYnJld2VyKHBhbGV0dGUgPSAiU2V0MSIpICsKICBsYWJzKAogICAgeCA9ICJZZWFyIiwKICAgIHkgPSAiR0RQICgkVHJpbGxpb25zKSIsCiAgICB0aXRsZSA9ICJDaGluYSdzIFJpc2UgdG8gQmVjb21lIHRoZSBMYXJnZXN0IEVjb25vbXkiCiAgKQpwbG90MSA8LSBnZ3Bsb3RseShwbG90MSkKcGxvdDEKYGBgCgojIyBTdW1tYXJpemF0aW9uIG9mIHBsb3QgMgoKYGBge3J9Cm5hdGlvbnMyIDwtIG5hdGlvbnMgfD4gCiAgbXV0YXRlKGdkcCA9IChnZHBfcGVyY2FwICogcG9wdWxhdGlvbikgLyAxMDAwMDAwMDAwMDAwKSB8PgogIGdyb3VwX2J5KHllYXIsIHJlZ2lvbikgfD4KICBzdW1tYXJpc2Uoc3VtX0dEUCA9IHN1bShnZHAsIG5hLnJtID0gVFJVRSkpCgpoZWFkKG5hdGlvbnMyKQogIApgYGAKCiMjIFBsb3QgMgoKYGBge3J9CnBsb3QyIDwtIG5hdGlvbnMyIHw+CiAgZ2dwbG90KGFlcyh4ID0geWVhciwgeSA9IHN1bV9HRFAsIGZpbGwgPSByZWdpb24pKSArCiAgZ2VvbV9hcmVhKGNvbG9yID0gIndoaXRlIikgKwogIHNjYWxlX2ZpbGxfYnJld2VyKHBhbGV0dGUgPSAiU2V0MiIpICsKICBsYWJzKAogICAgdGl0bGUgPSAiR0RQIGJ5IFdvcmxkIEJhbmsgUmVnaW9uIiwKICAgIHggPSAiWWVhciIsCiAgICB5ID0gIkdEUCAoJFRyaWxsaW9uKSIKICApCgpwbG90MiA8LSBnZ3Bsb3RseShwbG90MikKcGxvdDIKYGBgCg==