r语言c5.0要求因子输出,R语言中的因子类型详解

一、Factor函数

#函数factor可以把一个向量编码为一个因子,其一般形式为:

#factor(x,levels=sort(unique(x),na.last=TRUE),labels,exculde=NA,order=FALSE)

#其中x是向量,levels是水平,可以自行指定各离散的取值,不指定时由x的不同值来表示,labels可以用来指定各水平的标签

#不指定时用各离散取值的对应字符串

sex

factor(sex)

#使用is.factor来判断对象是否为因子类型

is.factor(sex)

#使用as.factor来将对象转换为因子类型

sex.factor

#使用levels来取得因子中的水平

levels(sex.factor)

# [1] "F" "M"

二、tapply函数

#函数tapply()

#当我们知道5个人的性别以及5个人的身高的时候,就能计算出每个性别下的平均身高

height

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

a

一共有n个数,那么转换后的数字就会在1——n中取值,数字最小的取一,次小的取二,以此类推。

那么如何让因子(factor)类型里的数值转换对应的数值型呢?

as.numeric(as.character(factorname))

as.numeric(levels(factorname)[factorname])

以上代码都可以实现将因子(factor)类型里的数值转换对应的数值型,思路都是先转换成字符型然后再转换成数值型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值