── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr 1.1.4 ✔ readr 2.1.5
✔ forcats 1.0.0 ✔ stringr 1.5.1
✔ ggplot2 3.5.1 ✔ tibble 3.2.1
✔ lubridate 1.9.3 ✔ tidyr 1.3.1
✔ purrr 1.0.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(ggplot2)
library(dplyr)
nations <- read.csv("nations.csv")
nations <- nations |>
mutate(gdp_trillions = (gdp_percap * population) / 1000000000000)
selected_countries <- c("United States", "China", "Japan", "Germany")
nations_filtered <- nations |>
filter(country %in% selected_countries)
ggplot(nations_filtered, aes(x = year, y = gdp_trillions, color = country)) +
geom_line(size = 1) +
geom_point(size = 2) +
scale_color_brewer(palette = "Set1") +
labs(
title = "GDP Trends of Selected Countries (Trillions USD)",
x = "Year",
y = "GDP (Trillions)",
color = "Country"
)