iT邦幫忙

1

[R語言]資料分析讀書心得01---ggplot2

R 語言是一款統計程式語言,不過大部分的人會不懂沒學過統計要如何使用?但是在職場上常常都需要繪製圖表,很多人還在使用excel作為畫圖的工具,在這裡我想一邊學習如何使用 R 做資料分析,一邊透過po文的方式記錄讀書心得。在做資料分析的第一件事情就是去學該如何畫圖, R 可以透過簡單的語法把資料繪製成你想要圖表。

這篇文章是要使用 ggplot2 做資料視覺化,簡單來說就是把一筆資料的內部資訊透過畫圖來呈現。ggplot2 是一個 R 的package,當你要使用package時,需使用library這個指令來載入。因為 ggplot2 包含在 tidyverse 這個package的內部,所以我們載入 tidyverse 即可。

library(tidyverse)

https://ithelp.ithome.com.tw/upload/images/20200731/20124935pvOHDUV9ap.png

如果你沒有 tidyverse 這個package,那就輸入以下指令進行下載。

install.packages("tidyverse")

載入 tidyverse 後,內部也同時包含了很多資料。以下我們來看看mpg這筆資料,他是蒐集了38種車型的觀察資料。

mpg

https://ithelp.ithome.com.tw/upload/images/20200731/20124935sIEoLY6MRb.png

從上面我們可以看到 mpg 是234 x 11 的資料框型態,其中有234筆資料,以及11種變因。接著我們可以透過 ?mpg 去查看那些變因代表的意思,如下:

1.manufacturer:manufacturer name

2.model:model name

3.displ:engine displacement, in litres

4.year:year of manufacture

5.cyl:number of cylinders

6.trans:type of transmission

7.drv:the type of drive train, where f = front-wheel drive, r = rear wheel drive, 4 = 4wd

8.cty:city miles per gallon

9.hwy:highway miles per gallon

10.fl:fuel type

11.class:"type" of car

其中displ代表的意思是車子的引擎大小,hwy代表的意思是車子在高速公路上的燃油效率。在相同行駛距離的情況下,低燃油效率的車子需要消耗的燃料會比高燃油效率的車子還來的高。

那我們首先可以先來繪製一張 mpg 的圖表,以displ當橫軸,hwy當縱軸。

ggplot(data=mpg)+
  geom_point(mapping=aes(x=displ,y=hwy))

https://ithelp.ithome.com.tw/upload/images/20200731/20124935oWdAtdEjOU.png

從這個圖表可以很容易看出displ跟hwy之間有負相關的關係,這從資料框中並不容易看到。也就是說,資料顯示大引擎的車子使用的燃料比小車子還多。

我們來看看上面的程式碼,其中 ggplot() 可以繪製一個灰底的圖表,他的參數是data,接著 geom_point 這個函數是用來繪製散佈圖的,除了散佈圖以外, geom 還可以繪製各種不同的圖表,而 aes() 中的x與y參數即代表什麼變數要映射到x軸以及y軸, aes() 還有其他一些較為複雜的語法,我們之後會慢慢看到。

我們也可以透過一些簡單的語法來查看資料。

nrow(mpg)
ncol(mpg)
glimpse(mpg)
head(mpg)

https://ithelp.ithome.com.tw/upload/images/20200731/20124935TIShvUjKJR.png
https://ithelp.ithome.com.tw/upload/images/20200731/201249356KeZrZ3RHv.png

glimpse()head() 這兩個語法我們可以看到,他們都是可以"稍微"展示一下資料內部的形式。而nrowncol是用來查看資料的行列個數的。

本次的介紹就到這裡,下一次會介紹 aes() 的操作,以及其他圖表的繪製方式,謝謝大家。


1 則留言

0
yanchen
iT邦新手 5 級 ‧ 2020-08-03 22:34:30

書名應該是"R資料科學"吧哈哈
Hadley Wichham & Garrett Grolemund 寫的那本

df568923 iT邦新手 5 級 ‧ 2020-08-03 22:35:36 檢舉

哈哈哈哈,對~被你發現了XD

我要留言

立即登入留言