cbc$Gender <- recode_factor(cbc$Gender, c(0,1) = c("Female", "Male"))
cbc$Florence <- recode_factor(cbc$Florence, c(0,1) = c("No", "Yes"))
它不能在=
的lhs
上使用多个元素。使用
recode_factor(cbc$Gender, `0`= "Female", `1` = "Male")
[1] Female Male Female
Levels: Female Male
或者使用命名向量
的拼接方法recode_factor(cbc$Gender, !!! setNames(c("Female", "Male"), c(0, 1)))
[1] Female Male Female
Levels: Female Male
类似地,相同的选项可以在另一列
中使用但是,这甚至不需要任何recode
作为0
,1
可以转换为索引(R
索引从1开始)
c("Female", "Male")[1 + cbc$Gender]
[1] "Female" "Male" "Female"
或者可以使用base R
factor
与levels
和labels
指定
factor(cbc$Gender, levels = c(0, 1), labels = c("Female", "Male"))
数据cbc <- data.frame(Gender = c(0, 1, 0))
一个完整的解决方案
library(tidyverse)
df <-
tibble(
gender = c(0,1,0,1,0,0,1)
)
df %>%
mutate(
gender = fct_recode(as.factor(gender), "Male" = "1","Female" = "0")
)