我想向dplyr::recode传递一个命名向量或两个向量。假设我有:
library(dplyr)
set.seed(1)
x <- c("customer", sample(c("a", "b", "c"), 10, replace = TRUE))
recode_tbl <- tibble(letter = letters[1:3], fruit = c("apple", "banana", "cranberry"))
我想做的是使用recode_tbl的列来重新编码x,而不必手动指定对:
recode(x, a = "apple", b = "banana", c = "cranberry")
例如:
recode(x, as.name(recode_tbl$letter) = recode_tbl$fruit)
很明显这行不通。我不反对尝试NSE,但如果有人能让球滚动,那将是伟大的。
谢谢.
1条答案
按热度按时间wlwcrazw1#
我们可以在
base R
中执行此操作或将
do.call
与recode
配合使用或者当传递一个命名向量到重命名级别时使用!!!要拼接