Archie34
Archie34

Reputation: 1

Replacing numbers with numbers in R?

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

Answers (1)

Julian
Julian

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

Related Questions