數據操作的型態一般來說不外乎整數、浮點數、字符,在R中擁有一個特別的特殊屬性(至少Python沒看過這個) – factor(因子),正常操作數據型態時,基本上是沒有特殊排列規則,就算去設定排序動作,字符順序基本為A-Z,在彙整資訊上並不是很輕易,factor提供了另一種選擇,並擁有以下特點 :
- 擁有級別排序,並且可以自定義順序。
- 進行彙整時可以自動加總數量(如summary)。
- 輸入可以是因子或是字符
接下來建立一個包含整數、浮點、字符與因子的數據框
# 四種型態
factor_df_1 <- tibble(
    integer = as.integer(c(1, 2, -3, 4, -5, 1, 1, -5, 7)),
    float = as.numeric(c(1.1, 2.6, 5.8, 3.9, 55.77, 82.34, 99.1, 23.6, 45.4)),
    character = as.character(c("ap", "ef", "tg", "hk", "bu", "xi", "ux", "it", NA)),
    factor = as.factor(c("a", "b", "c", "a", "c", "a", "d", "k", NA))
)
對數據框進行彙整,會發現整數、浮點、因子都能進行彙整,顯示的資訊我們把它列出來
- 整數 : 最小、最大值、第一、第三四分位數、中位數、平均數
- 字符 : 甚麼都沒有,因為是字符。
- 因子 : 計算各個值的數量,並且NA也有顯示出來。
# 輸出結果
r$> summary(factor_df_1)
    integer            float        character          factor 
 Min.   :-5.0000   Min.   : 1.10   Length:9           a   :3  
 1st Qu.:-3.0000   1st Qu.: 3.90   Class :character   b   :1  
 Median : 1.0000   Median :23.60   Mode  :character   c   :2  
 Mean   : 0.3333   Mean   :35.51                      d   :1  
 3rd Qu.: 2.0000   3rd Qu.:55.77                      k   :1  
 Max.   : 7.0000   Max.   :99.10                      NA's:1 
factor除了base包內有相對應的函數外,也有專屬的包 - forcats,forcats包的介紹與函數操作文章請點擊連結繼續瀏覽 >> forcats文章請點我

 
沒有留言:
張貼留言