列的名称从csv更改为R:dot而不是斜杠

时间:2017-05-16 10:44:19

标签: r csv

当我在R中输入CSV文件时,列的名称会发生​​变化。他们来自" Fe / Cu" to" Fe.Cu"。但我只有一个csv文件有这个神秘的问题.. 我试图重命名列

colnames(a[12:ncol(a)])=c("Fe/Cu","Fe/Zn","Fe/Ba")

但没有任何反应

任何想法?

2 个答案:

答案 0 :(得分:2)

csv.read添加到csv.read函数调用将允许您获取原始名称。这是因为默认情况下csv.read将检查列名在语法上是否有效,如@Asayat所述。

来自make.names文档:

  

check.names - logical:如果为TRUE,则表示变量的名称   检查数据框以确保它们在语法上有效   变量名。如果有必要,他们会调整(通过make.names),以便   他们是,并且也确保没有重复。

如果您检查{{1}}的文档,您会发现:

  

语法上有效的名称由字母,数字和点或组成   下划线字符并以字母或点开头未跟随   一个数字。诸如“.2way”之类的名称无效,也不是   保留字。

这是@Asayat评论的内容。

答案 1 :(得分:0)

列索引应该在colnames之后,如下所示:

colnames(a)[12:ncol(a)]=c("Fe/Cu","Fe/Zn","Fe/Ba")