首页 > 解决方案 > 删除多列的部分列名

问题描述

我正在使用 tidyverse 以 tibble 格式清理我的数据。我想摆脱系统分配的列名中的前缀,例如:

x <- c("XYZ.date", "XYZ.region", "XYZ.region.europe.western"). 

没有很多不同的前缀,但它们的长度并不总是相同。我知道我可以使用重命名功能一个一个地重命名它们,但是有没有办法一次摆脱它们​​?

列出它们不是问题。

标签: rrenametidyversedata-cleaning

解决方案


foo <- function(x) gsub("^[^_]*_", "", x)

df %>%
    rename_all(foo)

因此,在这里我编写了一个函数,它说删除从字符串到下划线(“_”)的所有内容,然后将此函数应用于所有名称。


推荐阅读