我正在将一个csv的股票数据导入到R中,其中股票代码的列名以数字开头并且在其中包含空格,例如“5560 JP”。读入R后,列名称加上“X”,空格替换为“。”,例如“X5560.JP”。在R中完成所有工作之后,我想将处理后的数据写回新的csv,但是使用原始列名,例如“5560 JP”而不是“X5560.JP”,我怎么能这样做?
谢谢!
答案 0 :(得分:20)
使用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)