筆者之前有寫一篇關於Tidyverse的介紹,” R 資料的魔法師-Tidyverse (1)”,已經介紹了Tidyverse裡常用的package,包含readrtidyrTibbledplyr的使用,接下來筆者會針對剩下常用的package作介紹(如下圖所示)

 

1.jpg

 

取代迴圈的加速器 purr

在做資料處理的時候,有時候會寫一些迴圈來做重複的資料處理,但對於一些不是很熟悉迴圈的使用者來說,這可能會變得很困擾,而且也容易出現寫錯的機會,但如果不透過迴圈的方式處理,可能同樣的資料處理語法會需要重複寫很多次,雖然也不是不可以,但可能會大幅增加資料處理的時間以及程式的簡潔性。

Purrr package 提供了很多map系列的函数,功能類似R原生的apply家族函数(https://kemushi54.github.io/R-basic/apply_family.html),都是針對向量化的物件(vectorlist)的每一个元素做處裡,常用的map()函數如下,.x代表要被處理的list or vector.f代表要使用的函數or 公式,經過處理後會輸出listdata framevector

  • map(.x, .f) is the main mapping function and returns a list
  • map_df(.x, .f) returns a data frame
  • map_dbl(.x, .f) returns a numeric (double) vector
  • map_chr(.x, .f) returns a character vector
  • map_lgl(.x, .f) returns a logical vector

例子:

# 產生一個簡單函數,把數字加20

.f <- function(.x) {

  return(.x + 20)

}

# map

library(tidyverse)

map(.x = c(1, 4, 7), .f)

官網也有提供purr常用函數的說明及圖像化的說明,讓使用者可以再使用的時候做查詢,可以快速找到需要的函數做使用,讀者可以詳見以下的圖形。

 

2.jpg

 

資料視覺化的強大工具 ggplot2R語言裡面最為熱門的畫圖套件之一,ggplot2可以分為幾個部分:

  1. 資料(data):指定畫圖資料的來源(data frame)
  2. 圖形美化(aesthetic):指定畫圖資料與圖形之間的對應關係,例如哪一個變數要當作x軸變數,而哪一個要當作y軸變數,還有資料繪圖時的樣子等。
  3. 幾何圖案(geometry):要用什麼幾何圖形繪製資料,例如點、線條、多邊形等。
  4. 畫布(facet):指定如何將資料分散在多張子圖形中繪製,以利互相比較。
  5. 統計轉換(statistical transformation):指定如何以將資料轉換為各種統計量,例如將連續型資料轉為離散型的類別。
  6. 座標系統(coordinate system):指定繪圖時所使用的座標系統,除了常見的笛卡兒直角座標系統,也可以使用其他的座標系統。
  7. 主題(theme):控制資料以外的繪圖組件,例如座標軸、說明文字等。

例子:

ggplot(df2, aes(x=dose, y=len, group=supp)) +geom_line(aes(linetype=supp)) +geom_point()+scale_linetype_manual(values=c("twodash", "dotted"))

從上面的介紹可以知道ggplot2能針對畫圖的細節調整很多內容,每一次的調整都是一層疊加一層,透過類似疊圖的方式處理,官網也有提供ggplot2常用函數的說明及圖像化的說明,讓使用者可以再使用的時候做查詢,可以快速找到需要的函數做使用,讀者可以詳見以下的圖形。

 

3.jpg

 

參考資料

  1. https://r4ds.had.co.nz/introduction.html
  2. https://www.tidyverse.org/
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 晨晰部落格新站 的頭像
    晨晰部落格新站

    晨晰統計部落格新站(統計、SPSS、BIG DATA討論園地)

    晨晰部落格新站 發表在 痞客邦 留言(0) 人氣()