R代码分类变量为1和0

时间:2016-11-24 07:16:07

标签: r binary

是否有一种简单的方法可以将2级分类变量转换为二进制,然后更改列名?例如:如果我有性别'变量如何轻松地将女性编码为1,男性为0,并将列名更改为isFemale?先感谢您。

2 个答案:

答案 0 :(得分:1)

df <- data.frame(Lett=letters[1:6], Gender = c("F","M","M","M","F","M"))
df
#   Lett Gender
# 1    a      F
# 2    b      M
# 3    c      M
# 4    d      M
# 5    e      F
# 6    f      M



levels(df$Gender) <- c(1,0)
df
#   Lett Gender
# 1    a      1
# 2    b      0
# 3    c      0
# 4    d      0
# 5    e      1
# 6    f      0

names(df)[2] <- "isFemale"
df
#   Lett isFemale
# 1    a        1
# 2    b        0
# 3    c        0
# 4    d        0
# 5    e        1
# 6    f        0

答案 1 :(得分:0)

您只需要创建一个新列并将性别变量转换为数字

假设您的数据=数据,性别变量=性别

       data$sex <- as.factor (data$sex) 
       data$isFemale<- as.numeric (data$sex)