R语言中的因子类型详解
更新时间:2021年5月6日 13:51 点击:2843
一、Factor函数
#函数factor可以把一个向量编码为一个因子,其一般形式为: #factor(x,levels=sort(unique(x),na.last=TRUE),labels,exculde=NA,order=FALSE) #其中x是向量,levels是水平,可以自行指定各离散的取值,不指定时由x的不同值来表示,labels可以用来指定各水平的标签 #不指定时用各离散取值的对应字符串 sex<-c("M","F","M","M","F") factor(sex) #使用is.factor来判断对象是否为因子类型 is.factor(sex) #使用as.factor来将对象转换为因子类型 sex.factor<-as.factor(sex) #使用levels来取得因子中的水平 levels(sex.factor) # [1] "F" "M"
二、tapply函数
#函数tapply() #当我们知道5个人的性别以及5个人的身高的时候,就能计算出每个性别下的平均身高 height<-c(170,175,180,165,168) tapply(height,sex.factor,mean) # F M # 171.5000 171.6667 #tapply 的使用格式为tapply(x,index,fun) 其中x为对象,index为与x具有相同个数的因子类型,fun为指定的方法
三、gl()函数
#gl()函数 #gl函数能很快的产生因子,其基本用法为:gl(n,k,length=n*k,labels=1:n,order=false) gl(3,5) # [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 # Levels: 1 2 3 gl(3,1,15) # [1] 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 # Levels: 1 2 3
补充:R语言中因子(factor)转换成数值型(numeric)的问题
一直觉得只要是数字,不管是什么类型的,都可以通过as.numeric()函数转换为对应的numeric类型的数字,例如
x<-“123”,x为character类型,而as.numeric(x)则为numeric类型的123。但是因子(factor)类型却不一样。
a<-factor(c(100,200,300,301,302,400,10)),它们的值分别为100 200 300 301 302 400 10,然而as.numeric(a)对应的值并非100 200 300 301 302 400 10,而是2 3 4 5 6 7 1。因子(factor)转换成数值型(numeric)的规则是这样的:
一共有n个数,那么转换后的数字就会在1——n中取值,数字最小的取一,次小的取二,以此类推。
那么如何让因子(factor)类型里的数值转换对应的数值型呢?
as.numeric(as.character(factorname)) as.numeric(levels(factorname)[factorname])
以上代码都可以实现将因子(factor)类型里的数值转换对应的数值型,思路都是先转换成字符型然后再转换成数值型。
上一篇: R语言:实现因子与字符串的互转
下一篇: R语言ARMA模型的参数选择说明
相关文章
- 这篇文章主要介绍了R语言作图:坐标轴的设置方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
php中浮点型(float)和整型(integer)数据类型详解
文章分析了关于php中浮点型(float)和整型(integer)数据类型的用法区别以及在那种情况下会出现数据长度不够。 取值只能为True或者False,当其他类型转化为boolean类...2016-11-25- 这篇文章主要介绍了R语言删除指定变量或对象的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 本篇文章主要是对c#中数据类型占用的字节数进行了详细的介绍。需要的朋友可以过来参考下,希望对大家有所帮助...2020-06-25
- 这篇文章主要介绍了Javascript类型转换的规则实例解析,涉及到javascript类型转换相关知识,对本文感兴趣的朋友一起学习吧...2016-02-27
- 这篇文章主要介绍了R语言基本画图函数与多图多线的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 在PHP中,大部分变量类型,如字符串,整型,浮点,数组等都是值类型的,而类和对象是引用类型,在使用的时候,需要注意这一点。看到网友在讨论PHP的&符号,要彻底理解它的用法,就有必要讨论一下变量的两种形式。PHP的变量在内存中是这样...2015-10-23
- 虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number、String、Boolean、Object、Udefined、Null。其中,Object属于复杂数据类型,Object 由无序的键值对组成。其余几种都属于简单数据类型。注意:变量...2015-10-21
- 这篇文章主要介绍了C#泛型类型知识,文中代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-06-25
- 假如现在有这样一个表单,是添加元素用的。<form id='addForm' action='UserAdd.action' type='post'> <label for='uname'>用户名</label>:<input type='text' name='uname' id='uname'><br>...2015-11-24
- 下面小编就为大家带来一篇java中String类型变量的赋值问题介绍。小编觉得挺不错的。现在分享给大家,给大家一个参考。...2016-03-28
- 这篇文章主要介绍了vue:el-input输入时限制输入的类型操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-05
- 这篇文章主要介绍了R语言-将list转换为向量的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 这篇文章主要介绍了R语言-切换科学计数法和更换小数点位数的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 这篇文章主要介绍了R语言创建矩阵的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-06
- 这篇文章主要为大家详细介绍了JavaScript实现数据类型的相互转换,感兴趣的朋友可以参考一下...2016-03-09
- 本文主要介绍了C#的四种基本数据类型的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
- 这篇文章主要介绍了基于PostgreSQL和mysql数据类型对比兼容,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-25
- 在网站前端开发中,浏览器兼容性问题本已让我们手忙脚乱,Chrome的出世不知道又要给我们添多少乱子。浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本。 JavaScrip...2014-05-31
- 在本篇文章里小编给大家分享了一篇关于R语言运算符知识点讲解内容,有兴趣的朋友们可以参考下。...2021-05-06