![](/img/trans.png)
[英]How do I convert numbers (in char) to numbers (in numeric) using tidyverse
[英]How do I convert a numeric vector into binary numbers?
我用R代码“ as.numeric(data $ Gender)”将一个因子转换为数值向量,即从“男性”和“女性”到“ 1”和“ 2”。 但是,我想将数值向量转换为二进制数,即从代表“ Male”的“ 1”和代表“ Female”的“ 2”到代表“ Male”的“ 1”和代表“ Female”的“ 0”。 有人可以请我建议如何做到这一点吗? 非常感谢您,非常感谢您的帮助。
这是三种选择:
样本数据:
set.seed(1)
x <- sample(c("Male", "Female"), 10, TRUE)
x
# [1] "Male" "Male" "Female" "Female" "Male" "Female" "Female" "Female" "Female" "Male"
==
(假设您只有这两个选项)。 as.numeric(x == "Male")
# [1] 1 1 0 0 1 0 0 0 0 1
key <- setNames(0:1, c("Female", "Male"))
key[x]
# Male Male Female Female Male Female Female Female Female Male
# 1 1 0 0 1 0 0 0 0 1
factor
指定标签。 factor(x, c("Male", "Female"), labels = c(1, 0))
# [1] 1 1 0 0 1 0 0 0 0 1
# Levels: 1 0
请注意,如果您想要数值向量,则仍然需要as.numeric(as.character())
:
as.numeric(as.character(factor(x, c("Male", "Female"), labels = c(1, 0))))
# [1] 1 1 0 0 1 0 0 0 0 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.