假设您有一个数字向量,其中包含集合 1、2、3、4 中的数字,并且您想将 1 和 2 替换为“男性”,将 3 和 4 替换为“女性”,那么这里有一些替代方案。
1) 因素 这样就产生了这样一个因素。如果你想要一个字符向量,可以使用as.character(income2)。
income <- c(2, 1, 4, 3, 1, 4, 2)
income2 <- factor(income, levels = 1:4, labels = c("male", "male", "female", "female"))
income2
## [1] male male female female male female male
## Levels: male female
2) 下标 这会创建一个字符向量
income2 <- c("male", "male", "female", "female")[income]
income2
## [1] "male" "male" "female" "female" "male" "female" "male"
3) car::recode 在 car 包中有一个 recode 函数(在 dplyr 包中也有一个稍微不同的函数,在其他包中可能还有其他函数)。这将创建一个字符向量。如果您希望结果成为一个因素,请添加 as.factor = TRUE 参数。
# assumes car package installed
income2 <- car::recode(income, "1:2='male';3:4='female'")
income2
## [1] "male" "male" "female" "female" "male" "female" "male"