2017-07-21 2 views
-2

meine Datensatz an die Nummer sieht wie folgt auskategorische Zeichenfolge konvertieren

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

meine Frage ist, wie konvertiere ich Kategorie Spalte als male=1 und female=2. ich will 1 anstelle der männlichen und 2 anstelle der weiblichen

+1

aus dem doppelten Post, '(a == "weiblich") + 1' würde für dich arbeiten. –

Antwort

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

Wenn Sie einen numerischen Vektor gesucht:

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

Dies sollte lösen!

+0

Die Variable 'category' würde jedoch 'factor' bleiben ... – loki

+1

Vielleicht wollte er die Faktorstufen ersetzen. OP war nicht spezifisch mit seiner Anfrage. –

0

fangen sie mit einem reproduzierbaren Beispiel beginnen:

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

dies wird einen numerischen Vektor erstellen mit Ihren Anforderungen genügen:

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