将多个分类变量转换为R中的因子

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将多个分类变量转换为R中的因子相关的知识,希望对你有一定的参考价值。

问候

目前正在创建一个神经网络,并且需要正确地构建数据。对于其中一个数据列,需要将字符串数据转换为数字。唯一的问题是,每行中的字符串数据是示例QWERTGCD, AWERTKRD, TWERTKRR'etc。有超过1000行的行,每行都有相同或不同的字符串,如发布的示例所示。我不知道如何将多个字符串转换为此规模的分类数据。标签分区同样如此。

到目前为止,我有这个开始

dataset$Box = as.numeric(factor(dataset$Box, levels = c(), labels = c()))

不确定我是否过分思考这个问题,但我无法确定如何精确地输入关卡和表格而不费力地浏览数据,并输入自己。

以下是正在使用的数据示例。

B,11979,13236,1261,3,QWERTGCD,1 B,475514,476069,559,33,QWERTOOD,1 C,65534,65867,337,1,QWERAEER,1 C,73738,74657,923,2,AWERTWED,1

谢谢

答案

如果没有可重复的示例,很难确切地知道您需要什么,但一般来说,R擅长的一件事是同时在整个列上运行操作。你只是将dataset中一个名为Box的列从一个字符串转换为数字,然后通过一个因子。 factor()会为您找到列中的所有唯一值。所以你不需要指定它们。

dataset$Box <- as.numeric(factor(dataset$Box))

将获取数据集中的Box列,并将其从类character转换为类numeric,以字母数字顺序对Box中的字符值进行编号(除非您另行指定)。它甚至可能已经是一个因素,具体取决于数据集的生成方式。你可以查看class(dataset$Box)。如果返回factor那么你只需要运行dataset$Box <- as.numeric(dataset$Box)

以上是关于将多个分类变量转换为R中的因子的主要内容,如果未能解决你的问题,请参考以下文章

将因子变量分钟:秒转换为R中的数值变量分钟.秒

请解释我们如何将因子变量转换为 R 中的数字

R语言数据预处理:将指定的分类变量转化为因子变量通过levels参数指定因子水平通过labels参数指定因子标签

分类 - 因子水平的使用

R - 对连续变量标题进行分组,将分类变量因子作为行并聚合为最小值、最大值、平均值

将虚拟变量从数字转换为 R 中卡方检验的因子