# A tibble: 92 × 23
Mineral demand for el…¹ ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
<chr> <dbl> <lgl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
1 <NA> NA NA <NA> NA NA NA NA NA
2 <NA> NA NA Stat… NA NA NA NA NA
3 <NA> 2022 NA 2025 2030 2035 2040 2045 2050
4 <NA> NA NA <NA> NA NA NA NA NA
5 Constrained nickel sup… NA NA <NA> NA NA NA NA NA
6 Copper 381. NA 616.… 1389. 1736. 2233. 2418. 2313.
7 Cobalt 63.5 NA 61.2… 38.0 29.1 35.4 40.9 47.4
8 Graphite 557. NA 935.… 1590. 1782. 1691. 1492. 1077.
9 Lithium 69.6 NA 122.… 219. 307. 407. 450. 413.
10 Manganese 74.5 NA 53.8… 156. 336. 533. 712. 858.
# ℹ 82 more rows
# ℹ abbreviated name: ¹`Mineral demand for electric vehicles (kt)`
# ℹ 14 more variables: ...10 <lgl>, ...11 <chr>, ...12 <dbl>, ...13 <dbl>,
# ...14 <dbl>, ...15 <dbl>, ...16 <dbl>, ...17 <lgl>, ...18 <chr>,
# ...19 <dbl>, ...20 <dbl>, ...21 <dbl>, ...22 <dbl>, ...23 <dbl>
Warning: The `x` argument of `as_tibble.matrix()` must have unique column names if
`.name_repair` is omitted as of tibble 2.0.0.
ℹ Using compatibility `.name_repair`.
sheet_header_processed
# A tibble: 23 × 2
scenario year
<chr> <chr>
1 Current Year <NA>
2 Current Year 2022
3 Current Year <NA>
4 Stated policies scenario 2025
5 Stated policies scenario 2030
6 Stated policies scenario 2035
7 Stated policies scenario 2040
8 Stated policies scenario 2045
9 Stated policies scenario 2050
10 Stated policies scenario <NA>
# ℹ 13 more rows
Rows: 228 Columns: 6
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (4): Technology, indicator, scenario, unit
dbl (2): year, value
ℹ 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.
copper_data1 <- data1 %>%filter(indicator =="Copper")p <-ggplot(copper_data1, aes(x =factor(year), y = value, fill = scenario)) +geom_bar(stat ="identity", position =position_dodge()) +# Use dodge position for side-by-side barstheme_minimal() +labs(title ="Projected Copper Supply by Scenario",x ="Year",y ="Supply (kiloton)",fill ="Scenario") +scale_fill_brewer(palette ="Set2") print(p)
#Net Zero scenario encourage the largest growth in projected copper supply
selected_data <- data1 %>%filter(indicator %in%c("Copper", "Cobalt"))p2 <-ggplot(selected_data, aes(x =factor(year), y = value, fill = indicator)) +geom_bar(stat ="identity", position =position_dodge(), color ="black") +theme_minimal() +labs(title ="Comparison between Projected Supply of Copper and Cobalt",x ="Year",y ="Supply (kiloton)",fill ="Material") +scale_fill_brewer(palette ="Paired") print(p2)
#Copper is in a dominant position when it comes to the volume.
growth_data <- data1 %>%filter(indicator %in%c("Copper", "Cobalt")) %>%arrange(indicator, scenario, year) %>%group_by(indicator, scenario) %>%mutate(growth_rate = (value /lag(value) -1) *100) %>%ungroup()growth_data <- growth_data %>%drop_na()p3 <-ggplot(growth_data, aes(x = year, y = growth_rate, color = indicator, group =interaction(indicator, scenario))) +geom_line() +geom_point() +facet_wrap(~scenario) +theme_minimal() +labs(title ="Annual Growth Rate of Copper and Cobalt Supply by Scenario",x ="Year",y ="Growth Rate (%)",color ="Material") +scale_color_brewer(palette ="Set1") print(p3)
#Despite Cobalt is way much irrelavant in its volume when compared with Copper, it shows a steady positive annual growth rate.
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.
`geom_line()`: Each group consists of only one observation.
ℹ Do you need to adjust the group aesthetic?
#In all the scenarios, the policy will encourage a spike in the volumn fist and the growth speed will slow down.
data2 <- wider_use_of_silicon_rich_anodes_table %>%filter(indicator %in%c("Copper", "Cobalt"))ggplot(data2, aes(x = year, y = value, fill = indicator)) +geom_area(alpha =0.5, position ="stack") +theme_minimal() +facet_wrap(~scenario) +labs(title ="Cumulative Supply of Copper and Cobalt Over Time",x ="Year",y ="Supply (kiloton)",fill ="Material")
#The graphs suggest that aggressive climate policies and technological advancements aimed at net-zero emissions by 2050 could lead to a substantial increase in the demand for copper and cobalt compared to current policy scenarios.