如何在管道操作中使用rename_with()将向量值批量设置为数据框列名
用rename_with批量替换列名的实现方法
你的错误写法存在两处问题:
- 管道已经将上游的
head(iris)作为rename_with的第一个.data参数传入,不需要重复传入iris rename_with要求第二个.fn参数为函数(或purrr公式风格的匿名函数),不能直接传入列名向量
正确实现代码
newcolnames <- c("one", "two", "three", "four", "five") head(iris) %>% rename_with(.fn = ~ newcolnames, .cols = everything())
参数说明
.cols = everything():指定选中所有列进行重命名,如果你只需要修改部分列,可替换为dplyr支持的任意列选择语法.fn = ~ newcolnames:purrr风格的匿名函数,返回的新列名会按顺序和选中的列一一对应,需要保证newcolnames的长度和选中列的数量完全一致
内容的提问来源于stack exchange,提问作者TarJae
相关产品推荐
相关产品推荐

