我正在使用与下面的摘录对应的导入数据集:
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)
Run Code Online (Sandbox Code Playgroud)
我正在使用这些数据进行一些清理dplyr,我想将列名更改为语法正确的,并删除标点符号作为第二步.到目前为止我尝试了什么:
dta_cln <- dta %>%
rename(make.names(names(dta)))
Run Code Online (Sandbox Code Playgroud)
生成错误:
Run Code Online (Sandbox Code Playgroud)> dta_clean <- dta %>% + rename(make.names(names(dta))) Error: All arguments to rename must be named.
我想要实现的目标可以在基础上完成:
names(dta) <- gsub("[[:punct:]]","",make.names(names(dta)))
Run Code Online (Sandbox Code Playgroud)
将返回:
Run Code Online (Sandbox Code Playgroud)> names(dta) [1] "ThisisColumnOne" "AnotheramazingColumnname" "XThisColumnsissospecial"
我想达到相同的效果,但使用dyplr和%>%.