用R中的数字替换数字?

问题描述 投票:0回答:1

我只有一个看似简单的数字列表,我想对其进行重新分类。 数字是: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)

有什么建议吗?

谢谢!

请参阅上文 - 变异、重新编码。

r recode mutate
1个回答
0
投票

你可以使用

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 
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.