Dplyr:重新编码数字和字符向量

Dplyr: Recode numeric and character vectors

我脑子里有一个死亡屏幕。如何在 dplyr 中使用 recode

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)

此致

这是因为 recode 将矢量作为参数,而不是 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))