2017-07-21 93 views
-2

我的数据集看起来像这样转换类别字符串编号

category number 
male  01 
male  02 
female  03 
male  04 
male  05 

我的问题是如何转换的类别列male=1female=2。 我想1到位男性和2代替女

+1

从复制后,'(一== “女”)+ 1'会为你工作。 –

回答

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

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

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

这应该解决!

+0

但是,变量'category'仍然是'factor' ... – loki

+1

也许他想替换因子水平。 OP的要求并不明确。 –

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