将多个分类变量转换为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语言数据预处理:将指定的分类变量转化为因子变量通过levels参数指定因子水平通过labels参数指定因子标签