如何用quantmod将股票数据保存为CSV并读取为原始xts格式?
简便保存与加载xts格式数据的方法
问题原因
用write.csv保存xts对象时,会将时间索引转为普通字符列,后续用read.zoo转换时容易因日期格式不匹配、索引列解析错误导致失败。下面是两种更简便的方案:
方案1:使用saveRDS和readRDS(推荐)
直接保存完整的xts对象,保留所有属性,加载后无需任何转换:
# 下载数据 getSymbols("000001.SZ", from = "1990-10-01", auto.assign = TRUE) # 保存xts对象 saveRDS(`000001.SZ`, file = "000001_xts.rds") # 加载数据 loaded_data <- readRDS("000001_xts.rds") # 验证类型 class(loaded_data) # 输出 "xts" "zoo"
方案2:使用xts包自带的write.xts和read.xts
专门为xts数据设计的读写函数,能正确处理时间索引:
library(xts) # 保存xts数据 write.xts(`000001.SZ`, file = "000001_xts.csv", sep = ",") # 加载数据 loaded_data <- read.xts("000001_xts.csv", sep = ",", header = TRUE) # 验证类型 class(loaded_data)
这两种方法都能避免手动转换格式的麻烦,直接得到原生xts对象。
内容的提问来源于stack exchange,提问作者konglr
相关产品推荐
相关产品推荐

