将分类字符串转换为数字

时间:2017-07-21 07:48:53

标签: r

我的数据集看起来像这样

Q(s,a)

我的问题是如何将类别列转换为category number male 01 male 02 female 03 male 04 male 05 male=1。 我希望1代替男性,2代替女性

2 个答案:

答案 0 :(得分:0)

levels(df$category)[c("male","female")] <- c(1,2)

如果你想要一个数字向量:

df$category <- as.numeric(df$category)

这应该解决!

答案 1 :(得分:0)

让我们从一个可重复的例子开始:

x = data.frame(category = c("male", "male", "female", "male", "male"), 
               number = paste0("0", 1:5))

这将创建一个满足您需求的数字向量:

x$cat_num <- as.numeric(factor(x$category, levels = c("male", "female")))
x
#   category number cat_num
# 1     male     01       1
# 2     male     02       1
# 3   female     03       2
# 4     male     04       1
# 5     male     05       1