2

I have a screen of death in my mind. How do I use recode in dplyr?

data = data.frame(id=rep(1:10, each=1), time=seq(1:5), char = strrep("a", 3))

library(dplyr) # everything throws an error
data %>% recode(time, `1` = 0)
data %>% recode(time, `1` = 0L)
data %>% recode(time, 1 = 0)
data %>% recode(time, 1 = 0L)

data %>% recode(char, aaa = 0)
data %>% recode(time, "aaa" = 0)

Best regards

Marco
  • 2,368
  • 6
  • 22
  • 48

1 Answers1

2

This is because recode takes a vector as argument, not a data.frame :

data %>% mutate(time2 = recode(time, `1` = 0L))
data %>% mutate(char2 = recode(char, aaa = 0))
data %>% mutate(char2 = recode(as.character(char), aaa = 0))
cbo
  • 1,664
  • 1
  • 12
  • 27