在dplyr中使用mutate的ifelse语句

时间:2016-01-13 16:30:44

标签: r dataframe dplyr

我在R中编写了以下代码,工作正常。但是,假设我必须将类似的代码应用于具有多个级别(> 6)的因子变量,(a,button,img):hover, (a,button,img):focus { border: 2px dashed black; } 语句可能很难阅读。我想知道是否还有其他更有效的方法来编写易于阅读的代码,但仍使用dplyr。

a:hover, a:focus {
    border: 2px dashed black;
}

1 个答案:

答案 0 :(得分:5)

我们可以使用factor

mtcars %>% 
  arrange(gear) %>% 
  mutate(gearW = as.character(factor(gear, levels=3:5, 
        labels= c("three", "four", "five"))))

或另一个选项是english

library(english)
mtcars %>%
        arrange(gear) %>%
        mutate(gearW = as.character(english(gear)))

编辑:添加了来自@David Arenburg和@Konrad Rudolph的评论的as.character

相关问题