Reputation: 1
I just have what seems like a simple list of numbers, that I'd like to recategorize. The numbers are: 1, 2, 3, 4, 5, 6, 7 I'd like to recode such that 1,2 = 1, 5=2 and 3,4,6,7 = 3. I've tried the following without luck:
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)
Any tips?
Thanks!
Please see above- Mutate, recode.
Upvotes: 0
Views: 55
Reputation: 495
You could use case_when
:
library('tidyverse')
set.seed(06192024)
numbers <- sample(1:7, size = 100, replace = TRUE)
table(numbers)
Returns:
numbers
1 2 3 4 5 6 7
18 8 6 15 21 20 12
While:
numbers_recoded <- case_when(
numbers == 1 | numbers == 2 ~ 1,
numbers == 5 ~ 2,
numbers == 3 | numbers == 4 | numbers == 6 | numbers == 7 ~ 3
)
table(numbers_recoded)
Returns:
numbers_recoded
1 2 3
26 21 53
Upvotes: 1