首页 > 解决方案 > 如何使用预先指定的标签将字符转换为数字

问题描述

有没有一种方法可以将 R 中的字符/因子转换为可以将该类型的数据转换为数字到预先指定的标签。

例如,男性 = 0,女性 = 1。

我想专门给它贴上标签,而不是随机化。我试过add_label但它只添加标签但它不会将数据转换为数字。我也试过replace(),但我也做不到

标签: r

解决方案


如果想从 {Males,Females} 转到 {0,1}:

s <- c("Males","Females","Males","Females","Females")
labs <- c("Males","Females")
f <- factor(s, levels=labs)  ## specify order
as.numeric(f)-1  ## label numbers start at 1, so subtract 1
## result: [1] 0 1 0 1 1

如果你想更一般

vals <- c(0,1)
vals[match(s,labs)]
## same result as above

推荐阅读