dplyr-将包含单词的列名称转换为字符

时间:2019-03-19 04:03:57

标签: r dplyr character names

我想使用dplyr将以单词“ feature”开头的列名称转换为字符类型。我使用了stackoverflow的答案尝试了以下内容以及其他一些变体。任何帮助,将不胜感激。谢谢!

train %>% mutate_if(vars(starts_with("feature")), funs(as.character(.)))

train %>% mutate_if(vars(starts_with("feature")), funs(as.character(.)))

我正在尝试改善dplyr命令的用法。

1 个答案:

答案 0 :(得分:2)

您需要使用mutate_at

library(dplyr)
train %>% mutate_at(vars(starts_with("feature")), as.character)

正如@Gregor所提到的,mutate_if是在选择列时基于列中的实际数据而不是名称的情况。

例如

iris %>% mutate_if(is.numeric, sqrt)

因此,如果列中的数据仅是数字,则它将计算平方根。

如果我们要将多个vars语句合并为一个语句,可以使用matches

merchants %>% mutate_at(vars(matches("_id|category_")), as.character)