我只有一个看似简单的数字列表,我想对其进行重新分类。 数字是:1、2、3、4、5、6、7 我想重新编码,使 1,2 = 1、5=2 和 3,4,6,7 = 3。 我尝试了以下方法,但没有成功:
df %>% mutate(var=recode(var, '1'='1', '2'='1', '3'='3', '4'='3', '5'='2', '6'='3', '7'='3'))
recode(df$var, `1` = 1, `2` = 1, `5` = 2, `3` = 3, `4` = 3, `6` = 3, `7` = 3)
有什么建议吗?
谢谢!
请参阅上文 - 变异、重新编码。
你可以使用
case_when
:
set.seed(06192024)
numbers <- sample(1:7, size = 100, replace = TRUE)
table(numbers)
退货:
numbers
1 2 3 4 5 6 7
18 8 6 15 21 20 12
同时:
numbers_recoded <- case_when(
numbers == 1 | numbers == 2 ~ 1,
numbers == 5 ~ 2,
numbers == 3 | numbers == 4 | numbers == 6 | numbers == 7 ~ 3
)
table(numbers_recoded)
退货:
numbers_recoded
1 2 3
26 21 53