數據操作的型態一般來說不外乎整數、浮點數、字符,在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文章請點我
沒有留言:
張貼留言