dplyr - 将包含单词的列名称转换为字符
dplyr - convert column names containing words to character
我想使用 dplyr 将以单词 "feature" 开头的列名称转换为字符类型。我使用 Whosebug 的答案尝试了以下内容和其他一些变体。任何帮助,将不胜感激。谢谢!
train %>% mutate_if(vars(starts_with("feature")), funs(as.character(.)))
train %>% mutate_if(vars(starts_with("feature")), funs(as.character(.)))
我正在努力改进我对 dplyr 命令的使用。
您需要 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)
我想使用 dplyr 将以单词 "feature" 开头的列名称转换为字符类型。我使用 Whosebug 的答案尝试了以下内容和其他一些变体。任何帮助,将不胜感激。谢谢!
train %>% mutate_if(vars(starts_with("feature")), funs(as.character(.)))
train %>% mutate_if(vars(starts_with("feature")), funs(as.character(.)))
我正在努力改进我对 dplyr 命令的使用。
您需要 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)