从data.frame名称中删除空格

时间:2012-05-29 18:36:51

标签: regex r

我有一个使用sqlQuery拉入R的数据帧。我想从data.frame的名称中删除所有空格和特殊字符,但是sqlQuery没有strip.white=TRUE选项,所以我想用正则表达式来做这个。

这适用于空格:

myNames <- c("Sample Selection Reason", "My ID")
myNames <- gsub('\\s+', '.', myNames )

我可以对特殊字符做些什么?

2 个答案:

答案 0 :(得分:8)

你可能会喜欢make.names(),这是一个基本的R函数,它可以从字符向量中生成[s]语法上有效的名称。&#34;

myNames <- c("Sample Selection Reason", "My ID")
make.names(myNames)
# [1] "Sample.Selection.Reason" "My.ID"   

答案 1 :(得分:2)

data.frame(...)更正名称。例如

df.badnames <- data.frame(`1-2` = 1:2, check.names=FALSE)
df.fixed <- data.frame(df)