在R语言中,因子(Factor)是一种用来表示分类数据的数据类型。分类数据是具有有限数量的不同类别或级别的数据,如性别(男、女)、颜色(红、绿、蓝)、学历(高中、本科、研究生)等。因子将这些类别数据存储为整数,并将每个整数映射到一个标签或级别。因子在数据分析和统计中非常有用,它们可以帮助我们识别和处理分类变量。
创建因子可以使用 factor()函数,其基本语法格式如下。
参数说明如下。
x:要转换为因子的向量。
levels(可选):指定因子的水平,即可用的类别标签。这是一个可选参数,通常不需要手动指定,因为R会自动从 x 中的唯一值生成水平。
labels(可选):指定与每个水平对应的标签或类别名称。如果不指定,R将使用 x 中的唯一值作为标签。
ordered(可选):一个逻辑值,用于指示是否创建有序因子。如果为TRUE,则因子将有一定的顺序或等级,默认值为FALSE。
示例代码如下。
上述示例代码解释如下。
代码第①行创建了一个字符向量gender,它包含5个元素,取值是Male或Female。
代码第②行使用factor()函数,基于gender向量创建了一个因子gender_factor。
上述示例代码运行结果如下。
通过运行结果可知,虽然我们为向量gender提供的元素,有很多重复元素,但是最后只有两个水平:Female和Male。
因子具有两个主要属性,即水平(levels)和标签(label),它们的说明如下。
(1)水平指因子中的每个唯一取值,或者说每个分类。
(2)标签是对每个水平的文字描述或名称。
示例代码如下。
在上述示例中,education 因子的标签是“高中”“大学”和“研究生”,这些标签表示了不同的教育水平。
上述示例代码解释如下。
代码第①行通过levels()函数获取education的水平。
代码第②行通过labels()函数获取education的标签。
上述示例代码运行结果如下。