iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 18
0
Data Technology

職場老鳥的資料科學初體驗-R語言專案實作紀錄系列 第 18

(Day18)基本繪圖功能與資料快速瀏覽

  • 分享至 

  • xImage
  •  

(Day15)基本繪圖功能與資料快速瀏覽(上)
開始進入了繪圖的功能,首先要說明的是,常在資料處理與作業過程,常需要快速的瀏覽資料的樣式或是分布,以便能繼續的處理資料,這時候,往往有個可以快速呈現資料圖表的工具,能加快處理的作業。
往往這類的繪圖,重點都放在能即時的提供結果瀏覽與判定,樣式與視覺化上的美觀,可能就不是重點。

本篇旨在強調實作的演示,將採用R中內建的資料集當作實作的資料來源。
暫列出常用的幾個資料集,官方的說明,也常以此為範例,多點了解也是好事。

View(mtcars) #車輛諸元紀錄
View(diamonds) #鑽石資料
View(iris) #花卉紀錄
View(pressure) #溫度與壓力紀錄關聯
View(BOD)
View(ToothGrowth)
class(BOD)
View(NBA1516)   #內建NBA資料集 欄位較多
View(economics) #內建資料集 筆數較多 有日期欄位

https://ithelp.ithome.com.tw/upload/images/20171218/20107033N6mCJRWUXd.png

程式上,本篇會有函數qplot()說明,套件ggplot2,還是叫用先。

library(ggplot2)

散佈圖 Scatter Plot

根據散佈圖-MBA智庫百科,用以判定資料之間,是否有相關聯性。大致為:
https://ithelp.ithome.com.tw/upload/images/20171218/20107033fN9DBr9LfE.png

#Scatter Plot
qplot(mtcars$wt, mtcars$mpg)
qplot(wt,mpg,data=mtcars)

https://ithelp.ithome.com.tw/upload/images/20171218/20107033zwF6cz2HRI.png

折線圖 Line Graph

根據折線圖-MBA智庫百科,用以判定數據資料變化的趨勢。

#Line Graph
plot(pressure$temperature, pressure$pressure, type="l")
points(pressure$temperature, pressure$pressure)
qplot(temperature, pressure,data=pressure,geom = "line")
# Lines and points together
plot(pressure$temperature, pressure$pressure, type="b")
qplot(temperature, pressure, data=pressure, geom=c("line", "point"))

https://ithelp.ithome.com.tw/upload/images/20171218/20107033KGrvJEDMEy.png
線加點
https://ithelp.ithome.com.tw/upload/images/20171218/20107033VmqOwpcCp6.png

bar char

根據直條圖-MBA智庫百科直條圖一般適用於內容較為獨立,缺乏連續性的數量資料,用來表示有關數量的多少,特別適合於對各數量進行對比

#bar char
barplot(table(diamonds$color))

https://ithelp.ithome.com.tw/upload/images/20171219/20107033rwwCLNQi0Y.png

根據直方圖-MBA智庫百科直方圖又稱質量分佈圖,是一種幾何形圖表,它是根據從生產過程中收集來的質量數據分佈情況,畫成以組距為底邊、以頻數為高度的一系列連接起來的直方型矩形圖。

Histogram

#Histogram
hist(mtcars$mpg)
hist(mtcars$mpg, breaks=10)
hist(diamonds$price, breaks=100)

qplot(diamonds$price)
qplot(price,data=diamonds,binwidth=100)

https://ithelp.ithome.com.tw/upload/images/20171219/20107033nXN4AQfADz.png
https://ithelp.ithome.com.tw/upload/images/20171219/20107033Lh9LXefI6q.png

直方圖的優缺點

  直方圖的優點:任何情況都能使用直方圖。
  直方圖的不足:會有信息丟失。

直條圖和直方圖的區別

  1、條形圖是用條形的長度表示各類別頻數的多少,其寬度(表示類別)則是固定的。
  2、直方圖是用面積表示各組頻數的多少,
矩形的高度表示每一組的頻數或頻率,寬度則表示各組的組距,因此其高度與寬度均有意義。
  3、由於分組數據具有連續性,直方圖的各矩形通常是連續排列,而條形圖則是分開排列。
  4、條形圖主要用於展示分類數據,而直方圖則主要用於展示數據型數據。

根據箱型圖Box Plot-MBA智庫百科

箱線圖的功能

箱線圖作為描述統計的工具之一,其功能有獨特之處,主要有以下幾點:
 1.直觀明瞭地識別數據批中的異常值
 2.利用箱線圖判斷數據批的偏態和尾重
 3.利用箱線圖比較幾批數據的形狀

Box Plot

#Box Plot
plot(ToothGrowth$supp, ToothGrowth$len)
plot(diamonds$color, diamonds$carat)
qplot(diamonds$color, diamonds$carat,geom="boxplot")
qplot(color,carat,data=diamonds,geom="boxplot")

https://ithelp.ithome.com.tw/upload/images/20171219/201070337bPlzXT3BK.png

箱線圖的局限

  1、不能提供關於數據分佈偏態和尾重程度的精確度量
  2、對於批量比較大的數據批,反應的形狀信息更加模糊
  3、用中位數代表總體評價水平有一定的局限性

#################
#Scatter Plot
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point()
#Line Plot
ggplot(pressure, aes(x=temperature, y=pressure)) + geom_line() + geom_point()
#Bar Plot
ggplot(BOD, aes(x=Time, y=demand)) + geom_bar(stat="identity")
#Histogram
ggplot(diamonds,aes(x=price))+ geom_histogram(binwidth=100)
#Box Plot
ggplot(diamonds,aes(x=color, y=carat))+ geom_boxplot()

參考資料

R Graphics Cookbook-Chapter2 Quickly Exploring Data


上一篇
(Day17)tidyverse-重要且好用的lubridate套件,用以處理時間格式
下一篇
(Day19)tidyverse-ggplot2(上)
系列文
職場老鳥的資料科學初體驗-R語言專案實作紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言