R语言 如何重命名因子水平
在这篇文章中,我们将介绍如何在R编程语言中重命名因子水平。
R语言中的因子变量是用分类变量来表示的,而分类变量是用不同的级别来表示的。每个独特的值都用一个独特的级别值来表示。R语言中的因子变量或向量可以用 factor() 方法来声明。
语法: factor(vec)
参数: vec – 矢量
因子的唯一水平可以通过level()方法提取,该方法以创建的因子向量为参数。它显示因子变量中的所有唯一条目。
语法: level(fac-vec)
参数: fac-vec – 要提取数值的因子向量
方法1:使用 基本的R方法
可以使用比较和索引操作符来重新命名因子水平。对现有的因子值进行比较,然后通过将其分配给一个新的值进行修改。这些修改是对现有因子向量进行的。遵循以下语法:
语法: level(fac-vec)[level(fac-vec)==old-val] <- new-val
参数: fac-vec – 要提取数值的因子向量
输出
list()方法也可以用来创建一个要创建的因子水平列表,然后可以重新赋值给新的值。然后,level()被重新赋值给这些新声明的值。这些改变是对原始因子向量的改变。使用这个方法可以重命名一个以上的因子。
在list()方法中声明了新旧因子变量值的组合。
输出
一个因子变量的所有等级也可以用c()方法重新命名,以创建一个等级向量。然后,新创建的值被分配给一个因子变量。下面的代码片段说明了这个过程。
输出
方法2:使用revalue()方法
R中的plyr包是用来将数据分割开来,对其进行操作,并将其重新组合在一起。该包可以通过以下命令下载并安装到工作空间。
本软件包中的重值方法用于用新定义的值替换因子向量中的指定值。在这种情况下,因子变量的水平不会被修改,仍然是原始的。
语法: revalue(x, replace = NULL)
参数:
- x – 因子向量
- replace – 因子向量,新值为数值,旧值为名称。
输出
方法3:使用mapvalues()方法
R中plyr包中的mapvalues()方法被用来在因子向量中用新的数值替换指定的数值。这些变化不会保留在原始向量中。
语法: mapvalues(x, from, to)
参数:
- x – 要修改的因子向量
- from – 要替换的项目的一个向量
- to – 替换值的一个向量
输出