台灣各縣市垃圾處理效率分析-垃圾產生量與掩埋和焚化量

數據科學專題期中報告

Author

張翊如 林景淇 蔡孟儒

圖表製作

全台廢棄物產生

每年產量<-一般廢棄物產生量|>
  group_by(年)|>
  summarise(
    每年產生量=sum(產生量)
  )

ggplot(每年產量,
       mapping = aes(x=年,y=每年產生量))+
  geom_bar(stat="identity",fill="#6699cc")+
  labs(title = "全臺每年垃圾產量",
       y="產生量(公噸)")

各縣市垃圾產生量

ggplot(
  data = 一般廢棄物產生量,
  mapping = aes(x = 年, y = 產生量, color=縣市)
)+
  geom_point()+
  geom_line(size = 1)+
  facet_wrap(~縣市分類)+
  geom_label_repel(
    aes(label = 縣市),
    data = 一般廢棄物產生量 |>
      group_by(縣市) |>
      slice_tail(n = 1),
    show.legend = FALSE
  ) +
  labs(
    title = "一般廢棄物產生量趨勢-比例調整前",
    y="產生量(公噸)"
  ) +
  theme(legend.position = "none")

ggplot(
  data = 一般廢棄物產生量,
  mapping = aes(x = 年, y = 產生量, color = 縣市)
) +
  geom_point() +
  geom_line(size = 1) +
  facet_wrap(~縣市分類, scales = "free") +
  geom_label_repel(
    aes(label = 縣市),
    data = 一般廢棄物產生量 |>
      group_by(縣市) |>
      slice_tail(n = 1),
    show.legend = FALSE
  ) +
  labs(
    title = "一般廢棄物產生量趨勢-比例調整後",
    y="產生量(公噸)"
  ) +
  theme(legend.position = "none")

各縣市掩埋場數量和容量比較

ggplot(
    data = 掩埋場容量, 
    mapping = aes(x = 數量, y = 容量, color = 縣市)
  ) +
    geom_point(size=2) +
    geom_label_repel(
      aes(label = 縣市),
      size = 3,
      nudge_y = 2,
      max.overlaps = Inf
    ) +
    theme(legend.position = "none")+
  labs(title="各縣市掩埋場容量",
       x="掩埋場數量",
       y="掩埋場容量(立方公尺)")

ggplot(
  data = 焚化爐設計處理容量, 
  mapping = aes(x=數量, y=日處理量, color=縣市)
)+
  geom_point(size=3)+
  geom_label_repel(
    aes(label = 縣市),
    size = 3,
    nudge_y = 0.5,
    max.overlaps = Inf
  ) +
  theme(legend.position = "none")+
  labs(
    title = "各縣市焚化爐設計容量",
    x="焚化爐數量",
    y="日處理量(公噸)"
  )

各縣市近20年平均廢棄物產生量

各縣市平均產生<-一般廢棄物產生量|>
  group_by(縣市)|>
  summarise(
    各縣市平均產生= mean(產生量, na.rm =TRUE)
  )|>
  arrange(desc(各縣市平均產生))

ggplot(各縣市平均產生,
       mapping = aes(fct_reorder(縣市, 各縣市平均產生),y = 各縣市平均產生))+
  geom_bar(stat="identity",fill="#6699cc")+
  labs(
    title = "各縣市平均廢棄物產生量",
    x = "縣市",
    y = "平均產生量(公噸)"
  )+
  theme_minimal() +
  coord_flip()

十年平均焚化及生產

十年平均產生<-一般廢棄物產生量|>
  filter(
    縣市%in%c("高雄市","臺北市","新北市","臺中市","臺南市"),
>= 102
  )|>
group_by(縣市)|>
  summarise(
    十年平均產生= mean(產生量, na.rm =TRUE)
  )

十年平均焚化<-焚化量|>
  filter(
    縣市%in%c("高雄市","臺北市","新北市","臺中市","臺南市"),
>= 102
  )|>
  group_by(縣市)|>
  summarise(
    十年平均焚化= mean(量, na.rm =TRUE)
  )

十年平均資料 <- merge(十年平均焚化, 十年平均產生, by = "縣市", all = TRUE)

十年平均焚化及生產 <- 十年平均資料 %>%
  pivot_longer(cols = c(十年平均焚化, 十年平均產生),
               names_to = "類別", 
               values_to = "數量")
ggplot(十年平均焚化及生產, mapping = aes(x = 縣市, y = 數量, fill = 類別)) +
  geom_col(position = "dodge") +
  labs(title = "近十年平均焚化及垃圾產量", x = "縣市", y = "焚化量/產生量(公噸)") +
  theme_minimal()

未設有焚化爐的地區

未設有焚化爐的縣市<-焚化量|>
  filter(
    縣市%in%c("新竹縣","南投縣","雲林縣","花蓮縣","澎湖縣","金門縣","連江縣")
  )
ggplot(未設有焚化爐的縣市,
       mapping = aes(x=年,y=量))+
  geom_line()+
  geom_vline(xintercept = 94, color = "#009999", linetype = "dashed") +
  facet_wrap(~縣市)+
  labs(title = "未設有焚化爐的縣的焚化量",
       y="焚化量(公噸)"
       )

掩埋/焚化與處理量之比較

ggplot()+
  geom_area(data=衛生掩埋量,aes(x=年,y=量),fill = "green", alpha = 0.5)+
  geom_area(data=焚化量,aes(x=年,y=量), fill = "lightpink", alpha = 0.5)+
  geom_area(data=處理量,aes(x=年,y=量), fill = "lightblue", alpha = 0.5)+
  facet_wrap(~縣市, scales = "free_y")+
  labs(title = "掩埋/焚化與處理量之比較",
       caption = "綠色=衛生掩埋量;紫色=焚化量;藍色=處理量",
       x = "年",
       y = "處理(公噸) / 掩埋(立方公尺) / 焚化量(公噸)"
       )

近五年處理量及產生量比較

log產生及處理<- 產生及處理|>
  mutate(產生量_log=log(產生量),
         處理量_log=log(處理量))

ggplot(
  data=log產生及處理,
  mapping = aes(x=產生量_log,y=處理量_log,color=縣市)
) +
  geom_abline(intercept = 0, slope = 1, color = "grey", linetype = "dashed")+ 
  geom_point(
    data =log產生及處理|>filter(產生量_log>處理量_log),size=3
  )+
  geom_point(
    data =log產生及處理|>filter(產生量_log<處理量_log), color="black",size=4
  )+
  geom_point(
    data =log產生及處理|>filter(產生量_log<處理量_log),size=3
  )+
  facet_wrap(~年)+
  geom_label_repel(data =log產生及處理|>filter(產生量_log<處理量_log),
    aes(label = 縣市),
    size = 3,
    nudge_y = 2,
    max.overlaps = Inf
  ) +
  labs(
    title = "近五年處理量及產生量比較",
    x="產生量_log(公噸)",
    y="處理量_log(公噸)"
  )

一般廢棄物及焚化爐設計容量/掩埋量比較

ggplot(mapping = aes(x=年, y=產生量 / 設計容量)) +
  geom_line(data = 一般廢棄物產生量 , aes(x = 年, y=產生量))+
  geom_line(data=焚化爐總處理, aes(x = 年, y=總處理), col="red")+
  geom_line(data=衛生掩埋量,aes(x = 年, y=量), col="blue")+
  facet_wrap(~縣市, scales = "free")+
  labs(title ="一般廢棄物及焚化爐設計容量/掩埋量比較",
       y="產生量(公噸) / 掩埋容量(立方公尺) / 焚化量(公噸)")