我想使用以下代码,但它不起作用,我不明白为什么?:
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"))
答案 0 :(得分:1)
问题是variable1
不是因子或字符向量。它是数据框中列的“名称”。 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")))