gpt4 book ai didi

r - 使用 rename_all 从列名中删除数字

转载 作者:行者123 更新时间:2023-12-03 08:41:32 25 4
gpt4 key购买 nike

我正在尝试从我拥有的某些列名称中删除数字。我尝试了以下方法,但没有成功。

iris %>% 
rename_all(.funs = list(gsub('[[:digit:]]+', "", names(.))))

如何使用 rename_all 正确删除列名称中的数字?

数据:

data(iris)
numericNames <- paste(seq(1:5), colnames(iris), sep = "")
colnames(iris) <- numericNames

最佳答案

由于作用域变体 rename_all 已从 dplyr 版本 1.0.0 开始被取代,您应该像这样使用 rename_with:

iris %>% 
rename_with(~gsub("\\d+", "", .))

或者,使用您使用的正则表达式

iris %>% 
rename_with(~gsub('[[:digit:]]+', "", .))

. 指的是列的名称,因此您不需要使用 names(.)

输出

#     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
# 1 5.1 3.5 1.4 0.2 setosa
# 2 4.9 3.0 1.4 0.2 setosa
# 3 4.7 3.2 1.3 0.2 setosa
# ...

关于r - 使用 rename_all 从列名中删除数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62657550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com