library(tidyverse)
library(plotly)
library(knitr)
library(ggplot2)
library(dplyr)
library(maps)
library(mapdata)
library(readxl)
df <- readxl::read_excel("данные.xlsx")
total_emissions <- df %>%
group_by(Country) %>%
summarise(Total_Emissions = sum(Value))
top_emitters <- total_emissions %>% arrange(desc(Total_Emissions)) %>% head(5)
bottom_emitters <- total_emissions %>% arrange(Total_Emissions) %>% head(5)
Уровень выбросов парниковых газов, включая углекислый газ (CO2), является одним из наиболее обеспокоенных аспектов современной экологической проблематики. В связи с ускоренной индустриализацией и расширением производства на протяжении последних десятилетий уровень выбросов углекислого газа стал одной из главных угроз для нашей планеты.
Данный проект проведет анализ уровня выбросов углекислого газа в различных странах мира. Целью проекта является выявление тенденций и различий в выбросах CO2 между различными странами.
Анализ выбросов углекислого газа имеет критическое значение для понимания влияния различных стран на изменение климата и разработки стратегий для сокращения выбросов парниковых газов в целом.
top_emitters_ <- total_emissions %>% arrange(desc(Total_Emissions)) %>% head(5)
new_column_names <- c("Страна", "Значение выбросов")
colnames(top_emitters_) <- new_column_names
kable(top_emitters_)
| Страна | Значение выбросов |
|---|---|
| Qatar | 702.3042 |
| Kuwait | 478.4243 |
| United Arab Emirates | 432.5679 |
| Bahrain | 417.1873 |
| Luxembourg | 388.6949 |
bottom_emitters_ <- total_emissions %>% arrange(Total_Emissions) %>% head(5)
new_column_names <- c("Страна", "Значение выбросов")
colnames(bottom_emitters_) <- new_column_names
kable(bottom_emitters_)
| Страна | Значение выбросов |
|---|---|
| Democratic Republic of the Congo | 0.5826329 |
| Burundi | 0.6647044 |
| Somalia | 0.9946838 |
| Central African Republic | 1.2315039 |
| Rwanda | 1.2757444 |
total_emissions <- total_emissions %>%
mutate(Category = case_when(
Country %in% top_emitters$Country ~ "Наибольшие выбросы", # В топ-5 по выбросам
Country %in% bottom_emitters$Country ~ "Наименьшие выбросы", # В топ-5 по минимальным выбросам
Country %in% "Russian Federation" ~ "Russian Federation",
Country %in% "Kazakhstan" ~ "Kazakhstan",
TRUE ~ " Other" # Все остальные
))
Таким образом, график позволяет наглядно продемонстрировать различия в уровне выбросов углекислого газа между топовыми странами и остальными, а также выделяет ключевые страны-источники выбросов.
p <- ggplot(total_emissions, aes(x = reorder(Country, Total_Emissions), color = Category)) +
geom_point(aes(y = Total_Emissions), size = 3, shape = 17) +
scale_color_manual(values = c(
"Наибольшие выбросы" = "red",
"Наименьшие выбросы" = "green",
"Russian Federation" = "blue",
"Kazakhstan" = "yellow",
"Other" = "grey"
)) +
labs(title = "Выбросы углекислого газа по странам", x = "Страна", y = "Суммарные выбросы") +
coord_cartesian(ylim = c(min(total_emissions$Total_Emissions), max(total_emissions$Total_Emissions))) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
plotly::ggplotly(p)
world_map_data <- map_data("world")
combined_data <- world_map_data %>%
left_join(total_emissions, by = c("region" = "Country"))
co2_map <- ggplot(data = combined_data) +
geom_polygon(aes(x = long, y = lat, group = group, fill = Total_Emissions), color = "black") +
scale_fill_gradient(low = "lightblue", high = "red", na.value = "grey50") +
labs(title = "Выбросы CO2 по странам",
fill = "Выбросы CO2 (млн тонн)") +
theme_minimal() +
theme(legend.position = "right")
print(co2_map)
Казахстан и Россия находятся на среднем уровне по выбросам.
ggplot(total_emissions, aes(x = reorder(Country, Total_Emissions), y = Total_Emissions, color = Category)) +
geom_point(data = subset(total_emissions, Category %in% c("Наибольшие выбросы", "Наименьшие выбросы", "Russian Federation", "Kazakhstan")), size = 3, shape = 17) +
scale_color_manual(values = c(
"Наибольшие выбросы" = "red",
"Наименьшие выбросы" = "green",
"Russian Federation" = "blue",
"Kazakhstan" = "yellow"
)) +
labs(title = "Выбросы углекислого газа по странам", x = "Страна", y = "Суммарные выбросы")+
scale_y_continuous(breaks = seq(0, 750, by = 50)) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
Сохраняются позиции стран в топе по выбросам.
df1 <- df %>%
mutate(Category = case_when(
Country %in% top_emitters$Country ~ "Наибольшие выбросы", # В топ-5 по выбросам
Country %in% bottom_emitters$Country ~ "Наименьшие выбросы", # В топ-5 по минимальным выбросам
Country %in% "Russian Federation" ~ "Russian Federation",
Country %in% "Kazakhstan" ~ "Kazakhstan",
TRUE ~ " Other" # Все остальные
))
ggplot(df1, aes(x = reorder(Country, Value), y = Value, color = Category)) +
geom_point(data = subset(df1, Category %in% c("Наибольшие выбросы", "Наименьшие выбросы", "Russian Federation", "Kazakhstan")), size = 3, shape = 17) +
scale_color_manual(values = c(
"Наибольшие выбросы" = "red",
"Наименьшие выбросы" = "green",
"Russian Federation" = "blue",
"Kazakhstan" = "yellow"
)) +
labs(title = "Выбросы углекислого газа по странам", x = "Страна", y = "Выбросы")+
scale_y_continuous(breaks = seq(0, 100, by = 10)) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))+
facet_wrap(~Year)
Данные о выбросах СО2 по годам для Казахстана и России.
df_filtered <- df1 %>%
filter(Category %in% c("Russian Federation", "Kazakhstan"))
data <- readxl::read_excel("Новая таблица.xlsx")
selected_country <- "Russian Federation"
country_data <- data %>% filter(Country == selected_country)
ggplot(country_data, aes(x = Год, y = Выбросы)) +
geom_line(color = "blue", size = 3) +
geom_point(color = "red", size = 4) +
labs(title = paste("Выбросы CO2 по годам в", selected_country),
x = "Год",
y = "Выбросы CO2") +
theme_minimal()
data <- readxl::read_excel("Новая таблица.xlsx")
selected_country <- "Kazakhstan"
country_data <- data %>% filter(Country == selected_country)
ggplot(country_data, aes(x = Год, y = Выбросы)) +
geom_line(color = "blue", size = 3) +
geom_point(color = "red", size = 4) +
labs(title = paste("Выбросы CO2 по годам в", selected_country),
x = "Год",
y = "Выбросы CO2") +
theme_minimal()
По линии тренда мы можем увидеть тенденцию к увеличению выбросов в обоих странах.
ggplot(df_filtered, aes(x = as.factor(Year), y = Value, color = Category, group = Category)) +
geom_line(size = 1) +
geom_smooth(method = "lm", formula = "y~x") +
scale_color_manual(values = c(
"Наибольшие выбросы" = "red",
"Наименьшие выбросы" = "green",
"Russian Federation" = "blue",
"Kazakhstan" = "yellow"
)) +
labs(title = "Выбросы углекислого газа по странам", x = "Страна", y = "Выбросы") +
scale_y_continuous(breaks = seq(0, 15, by = 1)) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1)) +
facet_wrap(~Category)