我在 R 中有列是和否,我需要将 no 转换为 0,将 yes 转换为 1 到目前为止我有
clean %>% mutate(flight=ifelse(flight=="NO", 0,1))
但是,事实证明,其中一些值是“N”、“n”或“no”,它们都被转换为 1。如何将所有这些变体也转换为 0?
最佳答案
如果我们需要将多个值“N”、“n”、“no”、“NO”和所有其他值“Yes”转换为 0 和 1,使用 substr
获取第一个字符, 将其更改为大写 (toupper
, 与 "N"进行比较 (!=
) 并将其强制转换为二进制 (as.integer
)
library(dplyr)
clean %>%
mutate(flight = as.integer(toupper(substr(flight, 1, 1)) != "N"))
注意:假设列中的值只有“Yes”、“NO”、“no”、“N”、“n”
数据
clean <- tibble(flight = c("No", "Yes", "YES", "Y", "no",
"No", "NO", "Y", "n", "y", "No"))
关于r - 如何将列中的是/否更改为 1 和 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55979093/