trent-erwin-338084-unsplash
 程式與統計資料視覺化

ggplot2 | 簡易資料視覺化 Basic Data Visualization – part 1 | using R SQLite

本篇學習筆記主要介紹如何使用R ggplot2 套件的圖層概念來進行資料視覺化 Data Visualization,使用數據則為透過R連接SQLite 資料庫而取得。R基本上可以從資料庫下載資料和上傳資料,使用的函數依據資料庫不同而有所異,但所有資料庫指令都還是基本的SQL語法。

本篇筆記重點

  • 如合使用R連接SQLite資料庫
  • 簡易資料處理
  • 進行簡易視覺化

本篇將分為幾個步驟:

step 1 :使用R連接SQLite DB

step 2: 資料處理 using dplyr

step 3 : 簡易資料視覺化 using ggplot2

step 1: 使用R連接SQLite DB

載入所需套件

建立db連線

列出所有DB中的table

查看table”records”資料欄位

輸入指令並回傳資料。並記得關閉連線。

檢視資料前十列。

SQL 基本語法:https://www.w3schools.com/sql/

step 2: 資料處理 using dplyr

先檢視時間戳distinct value

篩選某一天時間戳的資料並按照各版位人氣高到低排序

篩選人氣前10的版位資料

Step 3 : 簡易資料視覺化using ggplot2

將該時間戳top10版位人氣繪製bar圖。繪製bar chart(x: discrete, y: continuous)有兩種方法:(*如果x,y皆為 continuus,則使用geom_histogram())。

  • geom_col(): stat預設值為stat_identity,即bar圖的高會使用資料的值。
  • geom_bar(): stat預設值為”stat_count”,即每個x資料點對應的資料次數。如果希望bar圖的高度呈現資料值,則須將stat = “identity”。

r ggplot2

如果想要進一步將bar圖依據不同版位上色,我們可以選取自己想要的色調

r ggplot2




我們使用scale_fill_brewer()圖層來指定色調(我們從上圖選擇’Set3’的palette)。

r ggplot2

從上圖,我們發現X軸的每行資料欄位的字部分疊在一起,於是我們近一步進行以下調整:

  • theme()圖層
    • axis.text.x參數:將X軸的文字做一些角度旋轉。
    • text參數:指定中文字型,以解決中文亂碼問題。
  • labs()圖層
    • title: 圖標題
    • x: x軸標題
    • y: y軸標題

r ggplot2

調整y軸數值單位與顯示方式。因為y軸為連續數值,因此我們使用scale_y_continuous()圖層。

r ggplot2

將每一條bar加上數值標籤。我們可以新增geom_text()圖層。(*這邊因為會用到str_c()函數來串連多個字串成一個新字串,我們載入套件stringr)

如果想要近一步調整整體圖形風格,可使用theme_xxx()圖層。

  • 我們使用比較常用的幾種風格,包括:theme_bw(), theme_classic(), theme_dark(), theme_minimal(), theme_grey(), theme_linedraw()
  • 為了比較不同theme的效果,我們使用ggpubr套件中的ggarnage()函數來排版六張圖表。(只適用ggplot2的物件)

r ggplot2

經過上述一系列圖層疊加調整,便完成了我們簡單的bar chart囉!

r ggplot2





探索更多統計模型學習筆記:

線性回歸模型

羅吉斯回歸模型part1

羅吉斯回歸模型part2

決策樹/隨機森林

切割式分群法

階層式分群法


參考:

  1. 歐萊禮  R資料科學