使用forcats處理因子

第十一章 使用forcats處理因子

什么是因子?

說句實話,書上推薦的關于因子更深一步的了解的文章,我看了。但我實在是沒看懂啊。所以就是按照大神那樣簡單的理解就好了!因子是一種分類變量。

準備工作

require()和library()哪種更好?之前學習Y叔代碼的時候發現他用的是require。

library(tidyverse)
time(library(tidyverse))
[1]  1 16  1
time(require(tidyverse))
[1] 1 1 1
library(forcats)

感覺從時間上來講,這個require還是蠻快的!require不返回Attaching packages信息。

創建因子

這里舉了一個排列月份的例子,在一個字符型變量中,字符是特定的。如果,在輸入一個錯誤的月份條件下,想調取一個正確的月份是根本不可能的。此外,你的月份也無法進行排序。
隨著學習的深入,我只能把我個人的體會寫在上面,可能理解的不一定對,僅供參考!
需要因子的地方是兩個地方,首先,一個字符型變量起到了一個分類變量的作用。在書中舉了一個例子

head(gss_cat)
# A tibble: 6 x 9
   year marital      age race  rincome    partyid     relig     denom     tvhours
  <int> <fct>      <int> <fct> <fct>      <fct>       <fct>     <fct>       <int>
1  2000 Never mar~    26 White $8000 to ~ Ind,near r~ Protesta~ Southern~      12
2  2000 Divorced      48 White $8000 to ~ Not str re~ Protesta~ Baptist-~      NA
3  2000 Widowed       67 White Not appli~ Independent Protesta~ No denom~       2
4  2000 Never mar~    39 White Not appli~ Ind,near r~ Orthodox~ Not appl~       4
5  2000 Divorced      25 White Not appli~ Not str de~ None      Not appl~       1
6  2000 Married       25 White $20000 - ~ Strong dem~ Protesta~ Southern~      NA

我們很明顯看出不同變量的屬性(紅色的) 如果不知道啥意思,往前翻翻就知道了!

count()函數可以看出數據的水平,其實這個水平通俗一點就是一個變量的分類!比如:人的高、矮、胖、瘦!四個水平。。。為什么今天那么喜歡用感嘆號
fct_recode函數可以作為一個修改因子水平的,簡單理解下是高+矮=身高...

x <- factor(c("apple", "bear", "banana", "dear"))
fct_recode(x, fruit = "apple", fruit = "banana")
Levels: fruit bear dear

還有一個fct_collapse與其大致相同,這里不加多說了!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. 數據操作:dplyr包應用 dplyr包是為數據分析提供了一系列快捷有效的操作,其中有五個關鍵函數基本可以解...
    100gle閱讀 3,618評論 0 7
  • 官網 中文版本 好的網站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,433評論 0 5
  • 團隊開發框架核心架構—Factory 工廠(Factory) 也體現了封裝的思想,封裝了復雜的創建領域對象的邏輯,...
    Bobby0322閱讀 396評論 0 0
  • 不知道你們曾經有沒有過在花園邊看見過一朵花兒綻放的那一刻,就像一個小孩剛剛學會了走路,一點點...
    Angela51閱讀 217評論 0 0
  • 毋庸置疑,世界上的每一個爸爸媽媽都是愛自己孩子的。為了孩子的健康成長父母們可謂是操碎了心。我是一畢業就來到這所學校...
    矮窮但有才閱讀 103評論 1 2