第十一章 使用forcats處理因子
什么是因子赂鲤?
說(shuō)句實(shí)話,書上推薦的關(guān)于因子更深一步的了解的文章换帜,我看了。但我實(shí)在是沒(méi)看懂啊鹤啡。所以就是按照大神那樣簡(jiǎn)單的理解就好了惯驼!因子是一種分類變量。
準(zhǔn)備工作
require()和library()哪種更好递瑰?之前學(xué)習(xí)Y叔代碼的時(shí)候發(fā)現(xiàn)他用的是require祟牲。
library(tidyverse)
time(library(tidyverse))
[1] 1 16 1
time(require(tidyverse))
[1] 1 1 1
library(forcats)
感覺(jué)從時(shí)間上來(lái)講,這個(gè)require還是蠻快的抖部!require不返回Attaching packages信息说贝。
創(chuàng)建因子
這里舉了一個(gè)排列月份的例子,在一個(gè)字符型變量中慎颗,字符是特定的乡恕。如果换淆,在輸入一個(gè)錯(cuò)誤的月份條件下,想調(diào)取一個(gè)正確的月份是根本不可能的几颜。此外,你的月份也無(wú)法進(jìn)行排序讯屈。
隨著學(xué)習(xí)的深入蛋哭,我只能把我個(gè)人的體會(huì)寫在上面,可能理解的不一定對(duì)涮母,僅供參考谆趾!
需要因子的地方是兩個(gè)地方,首先叛本,一個(gè)字符型變量起到了一個(gè)分類變量的作用沪蓬。在書中舉了一個(gè)例子
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()函數(shù)可以看出數(shù)據(jù)的水平跷叉,其實(shí)這個(gè)水平通俗一點(diǎn)就是一個(gè)變量的分類!比如:人的高营搅、矮云挟、胖、瘦转质!四個(gè)水平园欣。。休蟹。為什么今天那么喜歡用感嘆號(hào)
fct_recode函數(shù)可以作為一個(gè)修改因子水平的沸枯,簡(jiǎn)單理解下是高+矮=身高...
x <- factor(c("apple", "bear", "banana", "dear"))
fct_recode(x, fruit = "apple", fruit = "banana")
Levels: fruit bear dear
還有一個(gè)fct_collapse與其大致相同,這里不加多說(shuō)了赂弓!