r - 在 rename_all() 中传递多个参数
问题描述
要整理列名,有没有办法传递多个参数rename_all()
?
示例:我想清理以下列名称,方法是将它们全部更改为更低,删除,并用using.
替换空格_
rename_all()
> colnames(tibble("COLUMN 1." = (1:3), "column 2." = (1:3)))
[1] "COLUMN 1." "column 2."
我可以这样做:
> tibble("COLUMN 1." = (1:3), "column 2." = (1:3)) %>%
+ rename_all(tolower) %>%
+ rename_all(~gsub("\\ ", "_", .x)) %>%
+ rename_all(~gsub("\\.", "", .x))
# A tibble: 3 x 2
column_1 column_2
<int> <int>
1 1 1
2 2 2
3 3 3
但是有没有办法用一个电话rename_all()
而不是 3 来做到这一点?
解决方案
您还应该能够在rename_all()
调用中使用管道来执行此操作:
library(tidyverse)
tibble("COLUMN 1." = (1:3), "column 2." = (1:3)) %>%
rename_all(~ tolower(.) %>% str_remove(., '\\.') %>% str_replace(., ' ', '_'))
推荐阅读
- arrays - ColdFusion 中的类型化数组与非类型化数组
- c++ - 如何知道项目中包含最多的文件?
- pythonanywhere - PYTHONANYWHERE ...我在尝试访问 /admin/default/ 时开始收到“403 FORBIDDEN”错误
- python - 使用 .values 键“AttributeError: 'list' object has no attribute 'values'”的字典项出现问题
- file - android 中的文件排序列表抛出“比较方法违反了它的一般合同!”
- android - 如何在设备上预览我的 Android 应用程序?(它通过 USB 连接到我的 Mac。)
- html - 无法将 ngfor 索引从 HTML 发送到子组件
- ssl - libgnutls 版本和协议标准对应
- c# - 使用 Shopify API 创建产品时出现问题
- json - 如何处理 JSON 中的特殊字符