当我在R中输入CSV文件时,列的名称会发生变化。他们来自" Fe / Cu" to" Fe.Cu"。但我只有一个csv文件有这个神秘的问题.. 我试图重命名列
colnames(a[12:ncol(a)])=c("Fe/Cu","Fe/Zn","Fe/Ba")
但没有任何反应
任何想法?
答案 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")