R 将数据框中的字符串分类数据转换为数字数据

R 将数据框中的字符串分类数据转换为数字数据,r,dataframe,neural-network,data-conversion,R,Dataframe,Neural Network,Data Conversion,我的数据框中有以下值(800) cat1 <- c("bi", "bt", "ch", "fs", "hc", "lh", "mo", "ms", "nn", "ro", "sc", "si", "so", "ti", "ww", "dt", "3et", "a", "a", "a", "a", "a", "a", "aam", "aao", "ac", "acs", "aeo", "aeq", "afm", "aic", "aio", "akq", "am", "am", "am", "

我的数据框中有以下值(800)

cat1 <- c("bi", "bt", "ch", "fs", "hc", "lh", "mo", "ms", "nn", "ro", "sc", "si", "so", "ti", "ww", "dt", "3et", "a", "a", "a", "a", "a", "a", "aam", "aao", "ac", "acs", "aeo", "aeq", "afm", "aic", "aio", "akq", "am", "am", "am", "am", "amc", "amc", "aoq", "aoq", "aot", "apm", "apo", "apo", "aqf", "ass", "ata", "ata", "atc", "atf", "atq", "atr", "aun", "bae", "baf", "bai", "bcm", "bcs", "bea", "bee", "bef", "bem", "bem", "bem", "bem", "bem", "beo", "beo", "beq", "beq", "beq", "bhm", "bkr", "bm", "bm", "bme", "bmm", "bmm", "bmo", "bmq", "bmq", "brm", "brm", "brq", "bsm", "bsm", "bsm", "bsm", "bso", "bta", "bwa", "clm", "dd", "dm", "ne", "pp", "pv", "rt", "se", "sw")

cat1如果您知道什么是替换规则,您可以建立一个字典并使用命名变量进行查找

比如说,

cat1 <- c("bem","am","am","bem","am")
dict <- `names<-`(c(7,5),c("bem","am"))
res <- dict[cat1]

不过还不清楚。有很多值,但不确定如何替换所有值。如果您想将tl转换为数值,一个选项是
as.integer(factor(data9$cat1))
match(data9$cat1,unique(data9$cat1))
as.numeric(as.factor(cat1))
这两个选项都起作用:)谢谢,但是如果我的数据中有800个唯一值呢frame@MeenakshiGarg但有800个独特的价值观,你知道它们是从什么映射而来的吗?@MeenakshiGarg然后你可以建立一个从单词到单词的一对一映射number@MeenakshiGarg如果我正确理解了你的目的,你有800个独特的单词要被800个独特的数字所取代,对吗?但是你知道哪个词代表哪个数字吗?如果你没有相应的替换,你就不能确定。在您的示例中,您知道“am”将替换为5,所有“bem”将替换为7,但您还应该知道“bi”、“bt”、“ch”、“fs”和其他的替换内容。
> res
bem  am  am bem  am 
  7   5   5   7   5