我是R的新人。我的数据集包括分类变量为“重要性”,有三个类别为“高”,“中”,“低”,总观察值为1000,而这150个是“NA”。现在,我想将上述变量的编码标记为“High”= 0,“Medium”= 1,“Low”= 2并且还想编码“NA”= 3。到目前为止我做了什么: -
Data$importance=as.numeric(Data$importance)
但这不能编码“NA”。在python中,我们将库作为labelEncoder。那么R中有这样的包可用吗?如果没有,那么对于多分类变量,最具体的方法是什么?
答案 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)