2017-07-21 37 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