7

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

谢谢!

4

1 回答 1

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)
于 2012-07-22T02:31:26.710 回答