3

V0.5recodeから慣れてきました。dplyr何か不足していますか?fromの方がはるかに効率的であるようRecodeですcar。私が何か間違ったことをしていない限り:

これは機能します:

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 を使用して factor に戻す必要があるようです

Dyf <- dplyr::recode_factor(as.character(xf), a = 1, b = 2, c= 3)
Dyf

それは機能しますが、かなり冗長に見えますか??? Recodefromcarは次のように簡単に実行できます。

Cyf <- Recode(x, " 'a'=1; 'b'= 2; 'c' = 3 ")
Cyf  [1] 1 2 3
Levels: 1 2 3

何か不足していますか?

ありがとう

4

1 に答える 1