2020年9月3日 星期四

5_用ggplot2探討車子油耗表現之一

 上一篇以鐵達尼號的存活機率展示了ggplot2的操作性,而這一篇會再深入ggplot2一些參數和函式,當然ggplot2的參數及數量相當多,我會以最常用一些參數對於我們在做資料探索及溝通為主,當然這一部分是我的主觀的認定,若是各位覺得我沒提到ggplot2的參數及函式,但又很常用,歡迎各位留言給我,達到教學相長;而在深入ggplot2要以幾篇呈現目前沒有規劃,畢竟我們白天都有些事要做,不是全職在寫文章的人,因上一篇晚上寫得太久隔天白天超沒精神.....

在開始前還是一樣必須載入套件會使用到tidyverse該套件,而這個套件載扮演甚麼角色ㄋ?可參閱下列網址對於tidyverse的介紹https://en.wikipedia.org/wiki/Tidyverse,若是沒有安裝套件可執行下列程式碼並載入套件或參考前面幾篇的講解

install.packages("tidyverse")

library(tidyverse)

library(ggplot2)

這一次使用的資料集為mpg為ggplot2內鍵資料集,因此你必須載入ggplot2套件,該資料集才會出現,而這一份資料及為美國環保署收集38種類型汽車,在高速公路上所表現的油耗,資料集的辯說明可輸入?mpg程式碼,在RStidio的右下角出現資料及的變數說明。

首先我們先掌握資料集的初步資訊

mpg

str(mpg)

執行mpg指令出現下圖資料列表以第一筆為例製造商為奧迪、型號為A4、引擎cc數為1800cc、年份為1999、4汽缸、自動變數、前置驅動、在城市行駛每加侖可行駛18英里、在高速公路每加侖可行駛29英里等。

執行str(mpg)出現下圖mpg共計234筆資料11個變數以及變數的資料型態

了解相關資料集後,在油價飆漲的年代我們最關心每加侖車子可行駛多遠,所以我們提出一個假設引擎cc數大小是否會影響行駛的英里數以高速公路為例

嗯.....看起來在1500cc及2500cc每加侖可跑到30英里還有可跑到40英里,但5500cc也有些車子可跑到25英里,似乎可驗證假設引擎的大小會影響行駛的英里數,但又說不出那邊怪。

所以我們加入class變數,該變數為車子的種類如車子是皮卡、休旅車、房車並賦予顏色,在視覺化可能有效區分

ggplot(data = mpg)+

  geom_point(mapping = aes(x=displ,y=hwy,color=class))

嗯....看起來清楚多了並有很好的解釋,在粉紅色的SUV以及淺藍色的Pickup(皮卡)每加侖跑的英里數坐落在20英里以下,其他車型幾乎每加侖坐落在20英里-30里這個區間,每加侖可跑出30英里以上的車型包含subcompact(超小型房車)、compact(小型房車)、midsize(中型房車),所以透此散佈圖發現車子的重量會影響車子的油耗。

在上圖我們加三個變數包含displ、hwy、class,以中文解釋為引擎的大小在高速路上行駛時車身重量以及引擎大小是否增加油秏,在上圖中我們將車子的種類(Class)以顏色做區分看油秏坐落在哪一個英里數區間,若是大家有仔細看圖的話事需要仔細對應顏色,在資料視覺化而言是有達到視覺化的呈現,但也只有60分所以ggplot2產生另一個函式稱之為構面或子圖facet_wrap(),這可以不同的變數進行組合對於欲探所問題提供精準的做法,我們在以上圖為例子套入構面函式

ggplot(data = mpg)+ geom_point(mapping = aes(x=displ,y=hwy))+ facet_wrap(~class,nrow = 2)


上圖中我們發現引擎大小和車子的重量會影響油耗表現,所以引擎跟氣缸數(cyl)多寡是否增加引擎(displ)的重量,而車身
的重量就是車的驅動(drv)方式,而車的驅動(drv)方式形成車子的類型(class),所以驅動方式會增加車身的重量嗎?

在圖中汽缸數及車的驅動方式的確會影響油耗的表現,假如這是我的研究主題,我的指導教授一定講說不行!你如何證明引擎的重量是汽缸數多寡而形成的,這不夠嚴謹!重作........7788  8877  12345678  ㄟ....人生很無奈的.....不好意思...想到我的論文....拉回來,所以我們換一角度說,我們可以大膽推測引擎的重量和汽缸數的多寡以及車子的重輛跟他的驅動方式,必存在一定的關係,因此會影響車子在高速公路上的油耗表現。

今天就先到這邊,有時我在想我的指導教授跟我去廟裏拜拜一樣,你跟神明說了半天神明也不會說甚麼,一切心領神會,我的論文交給我的指導教授,他也不說好,也沒說不好,一切宛如神明一般不說任何一句話,每天晚上只能在鐵人發文撫慰我孤獨及不安的心靈.......

沒有留言:

張貼留言

無現金支付的反思!

  **購物經歷** - 作者花費大量時間尋找立燈,最終在IKEA購買了一個649元的立燈 - 在IKEA附近停車場遇到只接受無現金支付的情況,被迫註冊並使用Line Pay **無現金支付的觀察** - 作者認為Line Pay作為前端介面,有助於提高停車場付費效率 - 作者預...