我正在处理一个对应于下面摘录的导入数据集:
set.seed(1)
dta <- data.frame("This is Column One" = runif(n = 10),
"Another amazing Column name" = runif(n = 10),
"!## This Columns is so special€€€" = runif(n = 10),
check.names = FALSE)
我正在使用dplyr
清理数据,并希望作为第二步更改列名为语法正确的名称并删除标点符号。 我尝试过的方法:
dta_cln <- dta %>%
rename(make.names(names(dta)))
生成一个错误:
> dta_clean <- dta %>%
+ rename(make.names(names(dta)))
Error: All arguments to rename must be named.
期望的结果
我想要实现的可以在基础上完成:
names(dta) <- gsub("[[:punct:]]","",make.names(names(dta)))
它会返回:
which would return:
> names(dta)
[1] "ThisisColumnOne" "AnotheramazingColumnname" "XThisColumnsissospecial"
我希望使用dyplr
和%>%
来实现相同的效果。
setNames(tolower(gsub("\\.","_",names(.))))
做一些事情。 - Konradrename
中无法正确解析。 - akrun