【上一篇:55.关于正则表达式在其他函数中的应用】
【下一篇:57.关于因子的四要素之创建因子】
我按照自己的理解,认为R中的变量分为离散型变量和连续型变量。连续型变量就是数值型的且是有序的;离散型变量一般是字符型的,可以是无序的也可以是有序的。连续型变量可以转化成离散型变量,方式是将连续型变量分bin。
离散型变量也可以叫做分类变量。在数据整理(data wrangling)中,分类变量的wrangling是其中最重要的一部分。R中分类变量的转换过程中,可能引起一些问题,例如在无意识间改变category numbers和category labels之间的对应关系。因子就可以解决这个问题。
因子其实是R存储分类变量的一种方式。例如性别有两个分类:male和female,我们可以用因子来存储这个分类信息,也可以用字符型字符串来存储。早期的R版本中,将分类数据存储为因子变量比存储为strings更有效,因为factor variale仅存储factor labels一次,正是由于此,导致现在的很多函数仍然默认将分类变量存储为因子。例如read.table()函数,输入R的数据中,分类变量可以转换成因子类型(stringsAsFactors=TRUE),如果想抑制这个功能,需要注意设置stringsAsFactors=FALSE。
因子在两个地方发挥很重要的作用:绘图时和回归模型中。
字符串向量可以用factor()函数转化成因子(正式说法是将字符向量编码成因子),也就是说字符型向量通过一种编码方式变成因子。
因子有四要素,也即factor()函数的四要素:实际的分类变量、Levels、Labels和顺序。详细见下一篇。
网友评论