因子
在R语言中,变量可以分为名义型变量,有序型变量和连续型变量。其中数值型数据更容易是连续型变量,字符串型数据更容易是名义型变量。
- 连续型变量(计量资料):某个范围中的任意值,例如身高,体重等
- 有序型变量(等级资料):不同值之间有顺序关系,例如形容程度:good,better,best;。
- 名义型变量(计数资料):表型描述,例如豌豆实验的质量性状,黄色和绿色
因子的定义:在R中名义型变量和有序性变量称为因子(factor)。这些分类变量的可能值称为一个水平(level),例如good, better , best,都称为一个水平。由这些水平值构成的向量就称为因子。
因子的作用:非常适合记录某项研究中研究对象满足的不同处理水平或者其他类型的分类变量,广泛应用于分类,计算频率和频数,独立性检验,相关性检验,方差分析,主成分分析和因子分析中。
因子的实际用例
图1 mtcars数据集的cyl因子用table函数进行频数统计后可以看出,cyl是因子,cyl中4,6,8是因子中的不同level
用下面的方法,可以直接用factor函数将其转化为
fcyl<-factor(mtcars$cyl)
将向量转化为因子的方法
使用factor函数,默认是按照因子中不同level的频数按降序排列,频数最高的在最前面。
week<-factor(c("Mon","Fri","Thu","Wed","Mon","Fri","Sun"))
图2 Fri频数最高在最前面
若需要输出因子按照给定的顺序,则要自己规定level的顺序
week<-factor(c("Mon","Fri","Thu","Wed","Mon","Fri","Sun"),ordered=T,levels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))
图3 按照拟定顺序排序
因子绘图与向量绘图的区别
向量输出散点图,因子分类绘制频数分布直方图
fcyl<-factor(mtcars$cyl)
plot(fcyl)
图4 输出因子频数统计图
plot(mtcars$cyl)
图5 向量散点图
cut函数
用于有规律的分组,通过cut函数
cut(num,seq(0,100,10))
如果是一个很大的数据集,可以使用cut函数可以很容易计算每个区间包含的数据是多少,方便进行频数的统计。
state.division和state.region数据集都是因子型数据集
网友评论