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