我recode
从dplyr
V0.5 开始熟悉。我错过了什么吗?似乎Recode
fromcar
更有效。除非我做错了什么:
这有效:
x <- c("a", "b", "c")
y <- dplyr::recode(x, a = 1, b = 2, c= 3)
y
但不是当你有一个因素:
xf <- factor(c("a", "b", "c"))
yf<- dplyr::recode(xf, a = 1, b = 2, c= 3)
Error: `a` has type 'double' not 'character'
似乎您必须将其视为字符并使用 recode_factor 以便它返回因子
Dyf <- dplyr::recode_factor(as.character(xf), a = 1, b = 2, c= 3)
Dyf
那行得通,但看起来很冗长???Recode
fromcar
会简单地做到这一点:
Cyf <- Recode(x, " 'a'=1; 'b'= 2; 'c' = 3 ")
Cyf [1] 1 2 3
Levels: 1 2 3
我错过了什么?
谢谢