【R語言資料分析】電力資訊視覺化,看歷年來台灣電力結構轉變

更新於 2022/11/12閱讀時間約 6 分鐘
本篇目標:帶大家手把手透過R語言完成一份資料視覺化作品
本篇適合:對資料新聞、資料分析有興趣的人;初學R語言的人
本篇需求:對R語言的 dplyr、ggplot 套件有一定了解的人,若您尚未接觸過也沒關係,可以跟著以下的文章試著做做看,也可以有些心得!
本篇重點:
  • 學習使用 R 語言 dplyr 套件。
  • 學習善用 ggplot 細節功能,做出漂亮圖表
  • 學習製作area plot(堆積圖)
  • 學習運用嵌入中文字型功能,讓圖表不亂碼!
紐約時報曾經於2018年12月製作過「How Does Your State Make Electricity?」專題,探討從2001-2017年美國各州電力系統結構變化。本篇目的旨在仿照紐約時報的做法,也製作一個屬於台灣的電力結構轉變資訊圖表。
本篇可能因為付費牆關係無法正常收看,也可以點選下方連結
該篇文章是要探討歷年來(2001年至2017年)全美國(整體)及美國各州(局部)的發電燃料來源,畫出 stacked area plot(堆疊面積圖),此外會依照比例由高至低排,因此可以看到報導圖中,若有某種發電燃料來源比例激增,該區塊變會竄升至圖表上方,反之亦然。這樣的操作確實可有助於了解每個發電燃料來源在該年度的發電占比,以及歷年來的升降幅度。

談談資料來源

本次找到的台灣的資料是從政府開放資料下載而來,有每個月的發電資料,然而因為台灣的發電有分台電本身(發電業)及自用發電設備,因此資料還需要加以處理(數值相加)。
美國資料同樣也有每個月的發電資料,且單位也與台灣使用的相同(1000MWh = 百萬度),但是美國因為幅員遼闊,可能以各州之發電燃料來源之資料可能較有新聞意義。

資料清理

觀察台灣電力供需表資料(csv檔):
下方將命名這份檔案為"elec.csv"
可以發現它還算是一個蠻整齊的資料,不過為求資料讀取效率及後續視覺化需求,我們還是需要對這筆資料做一些處理。
因為這個表格提供相當詳細的資訊,我們可能需要處理兩件事情:
  1. 該表除了「發電(供給)量」,其實也有「用電需求量」的許多欄位,雖說是一個值得使用的欄位,只是這次暫時不列入討論範圍之中。有興趣的人可以試著在這次實作過後也操作看看。因此在資料前處理時我們應該要可以先去除掉這些欄位。
  2. 我們須依照「發電種類」做分別,因此做一些調整,如太陽能發電有分「發電業」與「自用發電設備」,應該要將兩個欄位相加。

套件引入

options(stringsAsFactors = F)
options(scipen = 999) # 取消科學記號
library(tidyverse) # 引入tidyR相關套件,如dplyr等
library(lubridate)

讀取資料

透過 dplyr 套件中的 read_csv(),可以將該csv檔讀入環境當中,並儲存為tibble格式。
base R 其實也有「read.csv()」的函式,會儲存為dataframe格式,但個人建議如果現在要用 tidyR 風格,就盡量全數統一風格,以 tidyR 方式操作。下方也提供相關介紹連結給大家。
raw_us <- read_csv("elec.csv")

選取欄位

使用dplyr 中 select() 函數,選擇欄位,並為每個欄位取英文名稱。

重新整理表格

依照「發電種類」做分別,將「發電業」與「自用發電設備」相加,使用mutate()函數。
(不過,其實也可以在上一步就做這件事,在此我們先分開做,讓各位有所了解)

繪製長表格

製作長表格是資料視覺化相當重要的步驟,利用gather()函數繪製長表格,並將每個年度進行年平均,作為該年度的數據,並計算電力個發電種類發電量比例。
長表格解說:
結果:

製作發電資訊「年平均」、計算各個發電占比

使用group_by()、summarize()和mutate()函數,製作發電資訊年平均,並計算各個發電占比。
此外,因為數據中有些許2022年(當年度)的資料,我們想先去除不看:
結果:

資料視覺化 — — 進階 ggplot 操作

作圖為了模仿紐約時報,x軸將設定為年度,y軸為發電占比。
顏色採用部分,紐約時報似乎有盡量採用該燃料「類似」的顏色,如Coal(煤炭)使用土灰色、水力發電使用淺藍色等,但也只是大致如此,因此我們也盡量模仿紐時,顏色也盡量特別設定。
此外,為了使ggplot好看好讀,因此有許多手動設定,以下會一一介紹。
但首先,我們想針對「中文字型」做一些設定。
而中文字型如何操作,我也做了一個簡單的小筆記,有興趣也可以看看!
接著就是繪圖,把圖表畫出來:
scale_fill_manual() :一一設定每個堆疊的顏色
labs():設定圖表標題、圖表副標題、x軸文字、y軸文字
theme_minimal():選用minimal的ggplot主題
theme()內也有很多參數,包含:圖表標題、子標題、圖表框線、圖表x,y軸文字格式等。
最後「+th」代表將前面我們所設定的中文字型納入。
視覺化完成!
上面是將「發電佔比」進行視覺化,不妨大家也可以試試看「發電量」如何視覺化,結果如下:
如果想看詳細 coding 檔案操作,可至下方連結索取:
資料整理後可發現,這份台灣資料提供蠻多發電類別資訊。
值得一提的是,台灣從2020年至今,每年總發電量逐年攀升。
另外,可以看到燃煤發電之總發電量佔比近年來逐年微幅降低,燃氣發電之總發電量佔比逐年提高(與美國同),然而台灣的核能發電近年來佔比逐年降低,太陽能發電佔比逐年提高,應與當前蔡英文政府w推動之能源政策有關(燃氣50%-燃煤30%-綠能20%)。
不過由於本篇工具限制的關係,我們僅製作出 stacked area plot,並沒有再特別將之由高到低自動的排序。
為什麼會看到廣告
avatar-img
64會員
74內容數
加入沙龍追蹤 CT 更多文章!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
利用 gmailr 套件能夠有效地提升工作效率,透過 R 語言自動生成信件草稿,並允許個別修改與寄送,大幅減少出錯機率。本文介紹 gmailr 套件的安裝與帳號設定步驟,以及如何搜尋和讀取郵件以及撰寫郵件的相關方法。
Thumbnail
R語言是一種統計學與資料科學領域的程式語言,具有強大的統計分析和資料處理功能。本文介紹R語言在統計常見的基本語法,包含:安裝和執行套件、載入和查看資料、基本敘述統計函式、輸出資料、輸出檔案和遺失值。
Thumbnail
R 語言是一個強大且免費的程式語言,可簡單使用各種套件,進行統計分析和資料清理和視覺化等相關工作。本文將介紹如何安裝R 語言和Rstudio,還有如何執行R語言和建立套件,最後說明如何自訂RStudio的界面顏色和字體 。
Thumbnail
R是一種開源的程式語言和環境,主要用於統計計算和數據分析。它擁有強大的統計功能和豐富的圖形繪製工具,使得用戶可以進行數據探索、處理和可視化。R語言的優勢之一是它有一個龐大的使用者社區,提供了大量的套件和資源,使其成為數據科學家和統計學家的首選工具之一。
Thumbnail
資料分析工具百百種,有容易操作資料、視覺化的BI工具、常用於各領域的分析模型套裝軟體等等,但對於想做資料分析、資料科學的人,「程式語言」可以說是現今不可或缺的能力,而R與Python則可以稱為資料科學領域最熱門的兩個程式語言,這篇文章主要想分享R與Python的使用情境,以及分享網路上一些資源。
前記:文長台語MODE腎入。不知道用「智障」和「弱智」等生理病症罵人,算不算是沒有思考用字。 百外年來「入聲是三四聲」成做常識,平仄拗來拐去,講這是李白蘇軾才會使無合格律,倯。「中文」是20世紀初期才出現的概念,以早漢字在人讀,「國字」是「國語」硬搶去的,知影了後閣講「入聲是三四聲」嘛無問題。
Thumbnail
我覺得每次跟晚輩講話都會有很奇妙的體驗 雖然我也曾經是人家的晚輩,可是每次和長輩講話都會得到撞牆的感覺,感覺不能溝通,會被罵,會被規範等等等的體驗。 可能自己的生活也是比較一板一眼 (吧 之前當志工的時候是保持在想和晚輩”打成一片”的想法 - “好WOW”! 我立馬對朋友用:「他覺得好WOW!」
Thumbnail
互為主體性學派是當代自體心理學、互為主體性學派、關係精神分析的重要基礎,也是當代精神分析前沿觀點的集群。互為主體性學派創始人史托羅洛和艾特伍共同創作的《體驗的世界》則是該學派十分重要的基石性著作,它清晰地表達了在西方哲學維度與臨床精神分析維度上互為主體性學派的立場與觀點。
Thumbnail
近年來台劇蓬勃發展,好評者不在少數。然而長期詬病的台詞口條問題仍陰魂不散,尤其是非日常喜劇類更容易遭遇類似麻煩。若深入覺察,會發現類似問題並非單一戲劇的單一現象。其背後所反映乃指向更基底的共通原因,其中主要兩點分別為資訊揭露問題與語言本身框架。 一、資訊揭露問題 台劇台詞很多問題來自於一種「講太明
Thumbnail
透過機器學習與統計分析角度分析UCI機器學習資料集中的網路顧客購買意圖資料,並透過決策樹方式預測顧客是否會購買產品,提及少部分特徵選取、資料不平衡問題。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
利用 gmailr 套件能夠有效地提升工作效率,透過 R 語言自動生成信件草稿,並允許個別修改與寄送,大幅減少出錯機率。本文介紹 gmailr 套件的安裝與帳號設定步驟,以及如何搜尋和讀取郵件以及撰寫郵件的相關方法。
Thumbnail
R語言是一種統計學與資料科學領域的程式語言,具有強大的統計分析和資料處理功能。本文介紹R語言在統計常見的基本語法,包含:安裝和執行套件、載入和查看資料、基本敘述統計函式、輸出資料、輸出檔案和遺失值。
Thumbnail
R 語言是一個強大且免費的程式語言,可簡單使用各種套件,進行統計分析和資料清理和視覺化等相關工作。本文將介紹如何安裝R 語言和Rstudio,還有如何執行R語言和建立套件,最後說明如何自訂RStudio的界面顏色和字體 。
Thumbnail
R是一種開源的程式語言和環境,主要用於統計計算和數據分析。它擁有強大的統計功能和豐富的圖形繪製工具,使得用戶可以進行數據探索、處理和可視化。R語言的優勢之一是它有一個龐大的使用者社區,提供了大量的套件和資源,使其成為數據科學家和統計學家的首選工具之一。
Thumbnail
資料分析工具百百種,有容易操作資料、視覺化的BI工具、常用於各領域的分析模型套裝軟體等等,但對於想做資料分析、資料科學的人,「程式語言」可以說是現今不可或缺的能力,而R與Python則可以稱為資料科學領域最熱門的兩個程式語言,這篇文章主要想分享R與Python的使用情境,以及分享網路上一些資源。
前記:文長台語MODE腎入。不知道用「智障」和「弱智」等生理病症罵人,算不算是沒有思考用字。 百外年來「入聲是三四聲」成做常識,平仄拗來拐去,講這是李白蘇軾才會使無合格律,倯。「中文」是20世紀初期才出現的概念,以早漢字在人讀,「國字」是「國語」硬搶去的,知影了後閣講「入聲是三四聲」嘛無問題。
Thumbnail
我覺得每次跟晚輩講話都會有很奇妙的體驗 雖然我也曾經是人家的晚輩,可是每次和長輩講話都會得到撞牆的感覺,感覺不能溝通,會被罵,會被規範等等等的體驗。 可能自己的生活也是比較一板一眼 (吧 之前當志工的時候是保持在想和晚輩”打成一片”的想法 - “好WOW”! 我立馬對朋友用:「他覺得好WOW!」
Thumbnail
互為主體性學派是當代自體心理學、互為主體性學派、關係精神分析的重要基礎,也是當代精神分析前沿觀點的集群。互為主體性學派創始人史托羅洛和艾特伍共同創作的《體驗的世界》則是該學派十分重要的基石性著作,它清晰地表達了在西方哲學維度與臨床精神分析維度上互為主體性學派的立場與觀點。
Thumbnail
近年來台劇蓬勃發展,好評者不在少數。然而長期詬病的台詞口條問題仍陰魂不散,尤其是非日常喜劇類更容易遭遇類似麻煩。若深入覺察,會發現類似問題並非單一戲劇的單一現象。其背後所反映乃指向更基底的共通原因,其中主要兩點分別為資訊揭露問題與語言本身框架。 一、資訊揭露問題 台劇台詞很多問題來自於一種「講太明
Thumbnail
透過機器學習與統計分析角度分析UCI機器學習資料集中的網路顧客購買意圖資料,並透過決策樹方式預測顧客是否會購買產品,提及少部分特徵選取、資料不平衡問題。