【发布时间】:2021-06-04 18:39:08
【问题描述】:
这里是一些与我正在使用的真实数据集相对应的模拟数据:
模拟数据集
a <- c("a","b","c","d","e","f","g","h","i","j")
b <- 1:10
names <-c("Alex","Ale","Alexandra","Alexander","Ali","Amanda","Alix","Ajax","Aley","Ajay")
data <- data.frame(a,b,names)
创建新变量性别
data <- data %>%
mutate(gender = NA)
我想为我的数据集中的names 变量分配一个“性别”值。我不想手动执行此操作,因为我正在处理 1000 次观察。然而,我确实有这些变量,其中包含对应于正确性别的“名称”值:
male <- c("Alex", "Ale", "Alexander")
female <- c("Alexandra", "Ali", "Amanda")
noanswer <- c("Alix", "Ajax", "Aley", "Ajay")
但是我不知道如何使用它们来分配“性别”值以与我的数据集中的特定“名称”相对应。
这是我尝试过的:
data$gender[data$names== male] <- "Male"
还有:
data$gender[data$names== c("Alex", "Ale", "Alexander")] <- "Male"
此代码并未将“男性”分配给所有值。我收到一条警告消息:
"Warning message:
In data$names == c("Alex", "Ale", "Alexander") :
longer object length is not a multiple of shorter object length"
有谁知道我如何为与names 变量对应的gender 变量赋值?
【问题讨论】: