Data weekend:Global Plastic Waste

栏目: 编程工具 · 发布时间: 4年前

内容简介:PHOTOGRAPHS BY RANDY OLSON

Data weekend:Global Plastic Waste

PHOTOGRAPHS BY RANDY OLSON

开篇

上海市垃圾分类立法 在

2019年7月1日起施行。个人混投垃圾最高可罚200元,单位混装混运最高可罚5万元。丢垃圾要分为4类:

    1. 可回收物 :废纸张、废塑料、废玻璃制品、废金属、废织物等
    1. 有害垃圾 :废电池、废灯管、废药品、废油漆及其容器等
    1. 湿垃圾 :食材废料、剩菜剩饭、过期食品、瓜皮果核、花卉绿植等
    1. 干垃圾 :除可回收物、有害垃圾、湿垃圾以外的其它生活废弃物

《上海市生活垃圾管理条例》同时规定:旅馆不得主动提供客房一次性日用品。餐饮服务不得主动提供一次性餐具。

package

library(tidyverse)
library(dplyr)
library(scales)
library(ggplot2)
library(readr)
library(janitor)
library(ggthemes)
theme_set(theme_light())

导入数据

coast_vs_waste <- read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2019/2019-05-21/coastal-population-vs-mismanaged-plastic.csv")

mismanaged_vs_gdp <- read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2019/2019-05-21/per-capita-mismanaged-plastic-waste-vs-gdp-per-capita.csv")

waste_vs_gdp <- read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2019/2019-05-21/per-capita-plastic-waste-vs-gdp-per-capita.csv")
# data source shttps://ourworldindata.org/plastic-pollution
global_plastics_production=read_csv("https://raw.githubusercontent.com/TonyFly3000/kaggle/master/global-plastics-production.csv")
global_plastics_production
## # A tibble: 66 x 4
##    Entity Code      Year `Global plastics production (million tonnes) (ton~
##    <chr>  <chr>    <int>                                              <int>
##  1 World  OWID_WRL  1950                                            2000000
##  2 World  OWID_WRL  1951                                            2000000
##  3 World  OWID_WRL  1952                                            2000000
##  4 World  OWID_WRL  1953                                            3000000
##  5 World  OWID_WRL  1954                                            3000000
##  6 World  OWID_WRL  1955                                            4000000
##  7 World  OWID_WRL  1956                                            5000000
##  8 World  OWID_WRL  1957                                            5000000
##  9 World  OWID_WRL  1958                                            6000000
## 10 World  OWID_WRL  1959                                            7000000
## # ... with 56 more rows

数据清洗

coast_vs_waste%>%glimpse()
## Observations: 20,093
## Variables: 6
## $ Entity                              <chr> "Afghanistan", "Afghanista...
## $ Code                                <chr> "AFG", "AFG", "AFG", "AFG"...
## $ Year                                <int> 1800, 1820, 1870, 1913, 19...
## $ `Mismanaged plastic waste (tonnes)` <int> NA, NA, NA, NA, NA, NA, NA...
## $ `Coastal population`                <int> NA, NA, NA, NA, NA, NA, NA...
## $ `Total population (Gapminder)`      <int> 3280000, 3280000, 4207000,...

用janitor package 清理变量名, 如 Mismanaged plastic waste (tonnes) 清理成了mismanaged_plastic_waste_tonnes

coast_vs_waste %>% clean_names() %>%glimpse()
## Observations: 20,093
## Variables: 6
## $ entity                          <chr> "Afghanistan", "Afghanistan", ...
## $ code                            <chr> "AFG", "AFG", "AFG", "AFG", "A...
## $ year                            <int> 1800, 1820, 1870, 1913, 1950, ...
## $ mismanaged_plastic_waste_tonnes <int> NA, NA, NA, NA, NA, NA, NA, NA...
## $ coastal_population              <int> NA, NA, NA, NA, NA, NA, NA, NA...
## $ total_population_gapminder      <int> 3280000, 3280000, 4207000, 573...
mismanaged_vs_gdp %>% clean_names() %>%glimpse()
## Observations: 22,204
## Variables: 6
## $ entity                                                           <chr> ...
## $ code                                                             <chr> ...
## $ year                                                             <int> ...
## $ per_capita_mismanaged_plastic_waste_kilograms_per_person_per_day <dbl> ...
## $ gdp_per_capita_ppp_constant_2011_international_rate              <dbl> ...
## $ total_population_gapminder                                       <int> ...
waste_vs_gdp %>% clean_names() %>%glimpse()
## Observations: 22,204
## Variables: 6
## $ entity                                                                     <chr> ...
## $ code                                                                       <chr> ...
## $ year                                                                       <int> ...
## $ per_capita_plastic_waste_kilograms_per_person_per_day                      <dbl> ...
## $ gdp_per_capita_ppp_constant_2011_international_constant_2011_international <dbl> ...
## $ total_population_gapminder                                                 <int> ...
coast_vs_waste2 = clean_names(coast_vs_waste) %>%filter(year>2000) %>% 
  group_by(year)%>%summarise(mismanaged_plastic_waste_tonnes=sum(mismanaged_plastic_waste_tonnes,na.rm = TRUE))

生成清理 function ‘clean_dataset’

clean_dataset <- function(tbl) {
  tbl %>%
    clean_names() %>%          # 清理变量名
    rename(country = entity,country_code = code) %>% # 改变量名
    filter(year == 2010) %>%   # 选2010年
    select(-year)              # 删除year变量
}
plastic_waste <- clean_dataset(coast_vs_waste) %>%  # 清洗数据 coast_vs_waste
  select(-total_population_gapminder) %>%           # 删除total_population_gapminder变量
  
  inner_join(clean_dataset(mismanaged_vs_gdp) %>%   # 清洗数据 mismanaged_vs_gdp
               select(-total_population_gapminder), # 删除total_population_gapminder变量
             by = c("country", "country_code")) %>% # inner join by "country", "country_code"
  
  inner_join(clean_dataset(waste_vs_gdp),           # 清洗数据 waste_vs_gdp
             by = c("country", "country_code")) %>% # inner join by "country", "country_code"
                                                    # 选变量
  select(country,
         country_code,
         mismanaged_waste = mismanaged_plastic_waste_tonnes,
         coastal_population,
         total_population = total_population_gapminder,
         mismanaged_per_capita = per_capita_mismanaged_plastic_waste_kilograms_per_person_per_day,
         plastic_waste_per_capita=per_capita_plastic_waste_kilograms_per_person_per_day,
         gdp_per_capita = gdp_per_capita_ppp_constant_2011_international_rate) %>%
  mutate(gdp_per_capita=round(gdp_per_capita))%>%
  
  filter(!is.na(mismanaged_waste),country!='Trinidad and Tobago')%>%                 # 选mismanaged_waste 非空的记录
   mutate(gdp_per_capita_group=cut_number(gdp_per_capita/1000, n = 4) # 按gdp_per_capita 排序 将国家分为 4组
          ,mismanaged_per_capita_rate=mismanaged_per_capita/plastic_waste_per_capita,
          managed_per_capita_rate=1-mismanaged_per_capita_rate
          
          )
glimpse(plastic_waste)
## Observations: 186
## Variables: 11
## $ country                    <chr> "Albania", "Algeria", "Angola", "An...
## $ country_code               <chr> "ALB", "DZA", "AGO", "AIA", "ATG", ...
## $ mismanaged_waste           <int> 29705, 520555, 62528, 52, 1253, 157...
## $ coastal_population         <int> 2530533, 16556580, 3790041, 14561, ...
## $ total_population           <int> 3204284, 35468208, 19081912, 15358,...
## $ mismanaged_per_capita      <dbl> 0.032, 0.086, 0.045, 0.010, 0.051, ...
## $ plastic_waste_per_capita   <dbl> 0.069, 0.144, 0.062, 0.252, 0.660, ...
## $ gdp_per_capita             <dbl> 9927, 12871, 5898, NA, 19213, 18712...
## $ gdp_per_capita_group       <fct> "(4.41,11.9]", "(11.9,28.7]", "(4.4...
## $ mismanaged_per_capita_rate <dbl> 0.46376812, 0.59722222, 0.72580645,...
## $ managed_per_capita_rate    <dbl> 0.5362319, 0.4027778, 0.2741935, 0....

作图

人类制造越来越多的垃圾 !

2010年每年制造近3亿万吨塑料垃圾.到2015年数字已上升到每年4亿万吨。这些垃圾不被回收的话将会污染我们的环境。

global_plastics_production%>%clean_names() %>%filter(year>2000) %>% 
ggplot(aes(x=year,y=global_plastics_production_million_tonnes_tonnes/1000000)) +geom_point()+geom_line()+

  labs(x = "年",
       y = "全球制造的塑料垃圾(百万吨)",
       #color = "Coastal population",
       title = "人类制造越来越多的垃圾",
       subtitle = "每年制造近4亿万吨塑料垃圾",
       caption ="统计时间:2000-2015年;数据源:ourworldindata.org
       @Tony Duan"
       )+theme(plot.title = element_text(hjust = 0.5))

Data weekend:Global Plastic Waste

谁制造垃圾 ?

人均收入越高的国家,制造的塑料垃圾越多。如美国人均每天制造0.3千克塑料垃圾。中国人均0.15千克。

g1 <- plastic_waste %>%
  arrange(-total_population) %>%
  mutate(pct_population_coastal = pmin(1, coastal_population / total_population),
         high_coastal_pop = ifelse(pct_population_coastal >= .8, ">=80%", "<80%")) %>%
  
  ggplot(aes(gdp_per_capita,plastic_waste_per_capita)) +
  
  geom_point(aes(size = total_population,fill = gdp_per_capita_group), shape = 21, show.legend = F, alpha = 0.7)+
  
  geom_text(aes(label = country), size=3,vjust = 1, hjust = 1, check_overlap = TRUE) +
  geom_smooth(method = "lm") +
  #scale_x_log10(labels = dollar_format()) +
  #scale_y_log10() +
  #scale_size_continuous(guide = FALSE) +
  labs(x = "人均GDP(美元)",
       y = "人均每天生成的塑料垃圾(千克)",
       #color = "Coastal population",
       title = "塑料垃圾与人口收入的关系",
       subtitle = "颜色为人均GPD组;点的大小代表国家总人口数量",
       caption ="统计时间:2010年;数据源:ourworldindata.org
       @Tony Duan"
       )+theme(plot.title = element_text(hjust = 0.5))

g1+ guides(fill=FALSE, color=FALSE)

Data weekend:Global Plastic Waste

谁回收垃圾 ?

人均收入越高的国家,垃圾回收率越高。如美国塑料垃圾回收率为90%。中国仅为25%。 可见人均收入最高的25%国家已建立有效的垃圾回收系统。所以垃圾回收能明显高于其他国家。

g2 <- plastic_waste %>%
  arrange(-total_population) %>%
  mutate(pct_population_coastal = pmin(1, coastal_population / total_population),
         high_coastal_pop = ifelse(pct_population_coastal >= .8, ">=80%", "<80%")) %>%
  
  ggplot(aes(gdp_per_capita, managed_per_capita_rate)) +
  
  geom_point(aes(size = total_population,fill = gdp_per_capita_group), shape = 21, show.legend = F, alpha = 0.7)+
  
  geom_text(aes(label = country), size=3,vjust = 1, hjust = 1, check_overlap = TRUE) +
  #geom_smooth(method = "lm") +
  scale_x_log10(labels = dollar_format()) +
  #scale_y_log10() +
  scale_size_continuous(guide = FALSE) +
  labs(x = "人均GDP(美元)",
       y = "塑料垃圾回收率",
       #color = "Coastal population",
       title = "塑料垃圾回收率与人口收入的关系",
       subtitle = "颜色为人均GPD组;点的大小代表国家总人口数量",
       caption ="统计时间:2010年;数据源:ourworldindata.org
       @Tony Duan"
       )+theme(plot.title = element_text(hjust = 0.5))

g2+ guides(fill=FALSE, color=FALSE)

Data weekend:Global Plastic Waste

结论

随着经济的发展。中国人均每天将生成越来越多垃圾。目前中国还处在较低的垃圾回收率。所以建立有效的垃圾回收系统迫在眉睫。上海市的垃圾分类立法将成为其他城市的学习榜样。


以上所述就是小编给大家介绍的《Data weekend:Global Plastic Waste》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

跟小贤学运营

跟小贤学运营

陈维贤 / 机械工业出版社 / 2016-12-9 / 69.00

这是一部能帮助运营新人快速构建互联网运营方法论和快速掌握互联网运营实操的著作,是小贤在百度贴吧和小红书成长经历和运营经验的复盘。书中包含5大运营主题、40余种运营工具和渠道、50余种运营方法和技巧、100余个真实接地气的运营案例,能迅速帮助运营新人掌握全套实操技能和构建完整运营体系。 本书的视角和知识体系都比较立体化: 既有百度这样的互联网巨头运营规范和思路,又有小红书这样的明星创业公......一起来看看 《跟小贤学运营》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码