r - 使用 r 中的 rename_at 从列名中删除后缀
问题描述
我有一个数据框,其中许多列以相同的后缀结尾,我想使用 rename_at() 将它们全部删除,但我无法弄清楚。
library(tidyverse)
my_df <- tibble(id = c(1, 2),
jan_real = c(8, 10),
feb_real = c(9, 10),
mar_real = c(1, 11))
desired_df <- tibble(id = c(1, 2),
jan = c(8, 10),
feb = c(9, 10),
mar = c(1, 11))
解决方案
您现在应该使用whichrename_with()
取代rename_at()
:dplyr 1.0.0
library(dplyr)
my_df %>%
rename_with(~ sub("_real$", "", .x), everything())
# A tibble: 2 x 4
id jan feb mar
<dbl> <dbl> <dbl> <dbl>
1 1 8 9 1
2 2 10 10 11
使用rename_at()
:
my_df %>%
rename_at(vars(everything()), ~ sub("_real$", "", .x))
推荐阅读
- android - 首次启动应用程序时将文件添加到内部存储
- cypress - 使用 Cypress 突出显示/选择文本
- c# - 如何获取打开用户控件的屏幕分辨率?
- salt-stack - AttributeError:模块“salt.modules”没有属性“cp”
- google-cloud-platform - Google 是否不允许更改 Google Cloud 实例上的 CPU 频率调节器?
- javascript - 使用 A-Frame 建模 3d 矢量场(电磁场)从哪里开始?
- javascript - 为什么我需要使用 react 和 javascript 专门检查 false?
- azure - Azure 无法创建运行方式帐户
- javascript - 用 Jest 和 sequelize-mock 模拟 sequelize
- django - Docker django 运行服务器,但浏览器不显示登录页面