2012-07-22 40 views
6

我正在将库存数据的csv导入到R中,列表名称中包含以数字开头且包含空格的股票代码。 “5560 JP”。在读入R之后,列名称被添加“X”并且空间被“。”替换,例如, “X5560.JP”。在所有工作都在R中完成后,我想将处理后的数据写回到新的csv,但是使用原始列名称,例如“5560 JP”而不是“X5560.JP”,我该怎么做?R - 以数字开头且包含空格的read.table和write.table中的列名称

谢谢!

+1

打电话给你的变量'df',试试这个'名(DF) Ryogi 2012-07-22 00:37:54

+4

'read.table'的'check.names'参数会绕过名称更改,我想。您可以保存这些名称,并在最终导出前使用它们。 – baptiste 2012-07-22 00:52:27

+0

谢谢你 – Joyce 2012-07-22 02:35:05

回答

19

当您使用write.csv或write.table将数据保存到CSV文件时,可以通过设置col.names参数将列名设置为任何您喜欢的内容。

但是,假设您有列名称可用。 一旦你阅读了数据并且R已经转换了名字,你就失去了这些信息。为了解决这个问题,你可以抑制转换得到的列名: - “\\”

df <- read.csv("mydata.csv", check.names=FALSE) 
orig.cols <- colnames(df) 
colnames(df) <- make.names(colnames(df)) 

[your original code] 

write.csv(df, col.names=orig.cols) 
+0

这很酷,非常感谢! – Joyce 2012-07-22 02:34:58

相关问题