标签编码为R中的多个分类变量

时间:2017-07-31 18:02:59

标签: r

我是R的新人。我的数据集包括分类变量为“重要性”,有三个类别为“高”,“中”,“低”,总观察值为1000,而这150个是“NA”。现在,我想将上述变量的编码标记为“High”= 0,“Medium”= 1,“Low”= 2并且还想编码“NA”= 3。到目前为止我做了什么: -

Data$importance=as.numeric(Data$importance)

但这不能编码“NA”。在python中,我们将库作为labelEncoder。那么R中有这样的包可用吗?如果没有,那么对于多分类变量,最具体的方法是什么?

2 个答案:

答案 0 :(得分:0)

df  = data.frame(label=c("Low","High","Medium",NA,"High"))
df$importance = match(df$label, c("High", "Medium", "Low", NA)) - 1
df
#     label importance
# 1    Low          2
# 2   High          0
# 3 Medium          1
# 4   <NA>          3
# 5   High          0

答案 1 :(得分:0)

您也可以按照以下方式进行编码:

y=data.frame("importance"=c("high","low","medium","NA"),stringsAsFactors =   FALSE)
y$importance <- replace(y$importance, y$importance == "high", 0)
y$importance <- replace(y$importance, y$importance == "medium", 1)
y$importance <- replace(y$importance, y$importance == "low", 2)
y$importance <- replace(y$importance, y$importance == "NA", 3)