【R语言】R中的因子(factor)

R中的因子用于存储不同类别的数据,可以用来对数据进行分组,例如人的性别有男和女两个类别,根据年龄可以将人分为未成年人和成年人,考试成绩可以分为优,良,中,差。

R 语言创建因子使用** factor() **函数,向量作为输入参数。

factor() 函数语法格式:

factor(x = character(), levels, labels = levels, exclude = NA, ordered = is.ordered(x), nmax = NA)

参数说明:

  • x:向量。
  • levels:指定各水平值, 不指定时由x的不同值来求得。
  • labels:水平的标签, 不指定时用各水平值的对应字符串。
  • exclude:排除的字符。
  • ordered:逻辑值,用于指定水平是否有序。
  • nmax:水平的上限数量。

以下实例把字符型向量转换成因子:

#构建一个字符串向量
x <- c("male", "female", "male", "male",  "female")
#构建因子
sex <- factor(x)
#输出sex,会发现有levels这一行信息
sex
#判断sex是否为因子
is.factor(sex)

我们可以看到输出sex的时候,除了显示字符串的内容以外,这里还有一行levels,证明sex有两个level(类别),female和male。这个顺序也是有讲究的,一般是按字母顺序来排列。我们也可以按照自己的需要来排列因子的顺序。以下实例设置因子水平为levels=c("male","female"):

#构建一个字符串向量
x <- c("male", "female", "male", "male",  "female")
#构建因子,设置因子水平为male和female
sex <- factor(x,levels=c("male","female"))
sex

你会发现现在levels的顺序就按照你设置的来显示了。

我们还能够设置显示的标签

#构建一个字符串向量
x <- c("male", "female", "male", "male",  "female")
x
#设置因子水平为male和female
#设置标签为manh和woman,注意这里label需要跟前面的level对应
sex=factor(x,levels=c('male','female'),labels=c('man','woman'))
#输出sex
sex

可以看到虽然最初我们构建的向量里面包含的是male和female,最后因子却变成了man和woman。关于这个参数后面我们还会给大家举个更实际的,跟临床数据相关的例子。

R中的因子使用还是更广泛的,例如做差异表达分析的时候我们可以根据因子将数据分成两组。绘制boxplot的时候,我们也可以根据因子来将数据分成两组。更多的实例可以参考下面的视频讲解

R语言基础培训

【R语言】R中的因子(factor)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 因子是用于对数据进行分类并将其存储为级别的数据对象。 它们可以存储字符串和整数。 它们在具有有限数量的唯一值的列中...
    yuanyb阅读 608评论 0 0
  • 在R中进行的所有操作都是针对活动内存中的对象的。 此对象非彼对象。个人理解是我们输入R中的一切是对象,得到的结果是...
    xiaoxianyu阅读 1,141评论 0 3
  • 1.R语言、Rstudio简介 11:50 CRAN官方网站 Task views 比如我想做生存分析 但是我不知...
    小梦游仙境阅读 838评论 2 8
  • 开始 开始R语言的学习已经有一段时间了,正在按计划开始学习,虽然年底有点忙还是坚持按计划进行学习,这是学习的第一...
    巍书生阅读 1,069评论 0 1
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,122评论 0 4