使用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,627评论 0 7
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,464评论 0 5
  • 团队开发框架核心架构—Factory 工厂(Factory) 也体现了封装的思想,封装了复杂的创建领域对象的逻辑,...
    Bobby0322阅读 398评论 0 0
  • 不知道你们曾经有没有过在花园边看见过一朵花儿绽放的那一刻,就像一个小孩刚刚学会了走路,一点点...
    Angela51阅读 219评论 0 0
  • 毋庸置疑,世界上的每一个爸爸妈妈都是爱自己孩子的。为了孩子的健康成长父母们可谓是操碎了心。我是一毕业就来到这所学校...
    矮穷但有才阅读 115评论 1 2