使用 dplyr 在数据操作中使用 revalue

Use revalue in data manipulation with dplyr

我想使用以下代码,但它不起作用,我不知道为什么?:

data <- data.frame(variable1 = as.factor(rep(c("A","B","C"), each=5)),
                   variable2 = rnorm(15,10,2))

require(plyr)
require(dplyr)

data <- data %>%
 revalue(variable1, c("A"="House", "B"="Flat", "C"="Loft"))

问题是 variable1 不是因子或字符向量。它是数据框中一列的 "name"。 revalue 函数需要因子或字符向量。您可以像这样使用 mutate() 函数来消除问题:

# your code    
data <- data.frame(variable1 = as.factor(rep(c("A","B","C"), each=5)),
                   variable2 = rnorm(15,10,2))

require(plyr)
require(dplyr)

# corrected code
data <- 
    data %>%
        mutate(variable1 = revalue(variable1, c("A"="House", "B"="Flat", "C"="Loft")))