【发布时间】:2013-04-03 19:38:51
【问题描述】:
我正在尝试从 Internet 中提取一些数据,然后将其导出为 CSV 文件,但我在 CSV 文件中丢失了我的日期信息。我不知道为什么。我是 R 新手,所以请保持简单的回答。这是我的代码:
Library(quantmod)
getSymbols("SPY", from = "2012-01-01", to = "2012-12-31")
write.csv(SPY, "C:/SPY.csv")
【问题讨论】:
我正在尝试从 Internet 中提取一些数据,然后将其导出为 CSV 文件,但我在 CSV 文件中丢失了我的日期信息。我不知道为什么。我是 R 新手,所以请保持简单的回答。这是我的代码:
Library(quantmod)
getSymbols("SPY", from = "2012-01-01", to = "2012-12-31")
write.csv(SPY, "C:/SPY.csv")
【问题讨论】:
因为 SPY 是一个 xts/zoo 对象,这可以解决问题:
替换:
write.csv(SPY, "C:/SPY.csv")
与
write.zoo(SPY,"C:/SPY.csv",index.name="Date",sep=",")
【讨论】:
试试:
write.csv(SPY, file= "SPY.csv", row.names = index(SPY))
【讨论】:
您确定日期信息丢失了吗?如果您使用 MS-Excel 打开 .CSV,则可能是 Excel 正在修改您的数据。
【讨论】:
如果您执行str(SPY),您将看到 xts 对象的内部结构。日期在索引中,而不是在主要数据中。
我使用这三行将 xts 对象保存为 csv 文件:
#Convert to a data frame so it can be written to disk
d=as.data.frame(SPY)
d=cbind(datestamp=rownames(d),d)
write.csv(d,file="SPY.csv",row.names=F)
【讨论】:
write.zoo 是有原因的,但是对我的代码和 StackOverflow 的搜索一无所获。我将把这个答案留在这里作为替代,但我认为 hvollmeier 的答案更好。