美文网首页数据分析程序员数据-R语言-图表-决策-Linux-Python
【R语言实用技巧】类别变量的顺序自定义设置

【R语言实用技巧】类别变量的顺序自定义设置

作者: 天善智能 | 来源:发表于2019-01-08 14:48 被阅读16次

欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!

对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。

作者:宋星云 中国科学院心理研究所硕士,R语言爱好者。已有多年数据分析与R语言的实战经验,毕业后将从事数据分析工作。

个人公众号:星云实验室


类别变量(nominal variable),又称名义变量、称名变量、分类变量,是一种常用的定性变量,用于表示类别。本身没有等级顺序之分,不可比较大小,不可加减乘除。例如性别、民族、肤色、学号等等。

在R中,通常使用factor类型的变量存储类别变量,有时即便你直接使用了string类型,但是在数据分析中,R依旧会将string变量转化为factor变量进行分析。通常,我们可以直接用factor函数进行变量类型的转化:

item <- factor(item)

但是,factor类型的变量默认是按照字符串的顺序排列的,在数据可视化、回归分析中,排列顺序均会有一定的影响。有时会很麻烦。

举个例子:下表是一次考试中4题的平均分(数据为自编)

现在我们要绘制4题的柱状图,如果直接绘制,那么会是这样的情况:

在横轴上,item会按照字符串顺序排列,而不是按照我们给出的T1,T2,T3,T11的顺序排列。

那么该怎么办呢?

levels函数能够显示factor变量的顺序,labels函数则显示我们看到的那部分内容。我们直接对factor变量的label属性进行设置,就可以达到自定义顺序的效果:

item<-c("T1","T2","T3","T11")

factor(item)

# > [1]  T1 T2 T3 T11

# > Levels: T1 T11 T2 T3

### 可以使用此方案为factor后的变量加自定义的顺序

ordered.item <- factor(1:length(item), labels = item)

ordered.item

# > [1]  T1 T2 T3 T11

# > Levels: T1 T2 T3 T11

有时,在数据框(data.frame)内,排列的顺序也比较复杂,例如下表,我们依旧想要按照 T1 T2 T3 T11 的顺序来画图,此时不能直接按照上述方法操作。

解决方案依旧不复杂:

### 首先写入自定义顺序

ordered.item <- c("T1","T2","T3","T11")

ordered.item <- factor(1:length(ordered.item),labels = ordered.item)

### 然后对数据框df中的item字段进行自定义顺序排列

df$item<-

factor

(df$item,

levels 

= levels(ordered.item))

levels(df$item)

# > [1] T1 T2 T3 T11

这样,在后续的分析中,df的item字段就会是按照 T1 T2 T3 T11 的顺序来排列了。

往期精彩:
  • 【R文本分析】《工作细胞》是一部成功的科普番嘛?

  • 【R可视化】你家乡的肯德基都在哪儿?

公众号后台回复关键字即可学习

回复 爬虫             爬虫三大案例实战  
回复 Python        1小时破冰入门

回复 数据挖掘      R语言入门及数据挖掘
回复 人工智能      三个月入门人工智能
回复 数据分析师   数据分析师成长之路 
回复 机器学习      机器学习的商业应用
回复 数据科学      数据科学实战
回复 常用算法      常用数据挖掘算法

我怎么这么好看

相关文章

  • 【R语言实用技巧】类别变量的顺序自定义设置

    欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞...

  • R语言-环境变量设置

    R语言环境变量的设置 设置环境变量的函数为options(),用options()命令可以设置一些环境变量,使用h...

  • R语言基础教程 | 数据结构—因子

    变量可归结为名义型、有序型或连续型变量。名义型变量是没有顺序之分的类别变量。类别(名义型)变量和有序类别(有序型)...

  • R 数据处理(十五)—— forcat

    1. 前言 在 R 中,因子用于处理类别变量,即具有固定且已知所有可能值的变量。当您希望以非字母顺序显示字符向量时...

  • R数据结构之因子

    定义:类别(名义型)变量和有序类别(有序型)变量在R中称为因子(factor)。 函数factor()以一个整数向...

  • R基础快速入门(2)

    文集地址 R语言快速入门 R语言变量 R语言中的变量可以存储原子向量,原子向量组或许多R对象的组合 注意:使用ca...

  • R语言——因子

    变量课归结为名义型、有序型或连续型变量。 名义型变量是美哟顺序之分的类别变量。有序型变量表示一种顺序关系,而非数量...

  • options:R语言环境变量设置

    环境设置函数为options(),用options()命令可以设置一些环境变量,使用help(options)可以...

  • R语言:自定义函数

    R语言系列:自定义function 在用R语言做各种事物时,用户自定义函数是不可或缺的。这期来讲讲如何自定义R的f...

  • R语言 变量

    变量为我们提供了程序可以操作的命名存储, R语言中的变量可以存储原子向量,原子向量组或许多Robject的组合。有...

网友评论

    本文标题:【R语言实用技巧】类别变量的顺序自定义设置

    本文链接:https://www.haomeiwen.com/subject/olavrqtx.html