我有一长串xts
对象,我想自动绘制并将它们保存到一个文件夹中(因为手动处理 >500 个图需要很长时间)。棘手的部分似乎是将函数应用于xts
对象列表。例如,根据日期获取列表元素的通用命名方法(列表xts
中的每个对象都是唯一的一天),并绘制每个对象并将它们保存到具有自己名称的文件路径中。
数据可以在以前的帖子中找到。每个xts
元素都是列表中唯一的一天,带有价格和数量列。我正在使用最新的 R (2.15) 包 xts、TTR 和 quantmod。
根据r-bloggers上的一篇精彩文章,我已经尝试使用此代码来命名列表元素:
names(sample.data.uniquePOS) <- paste0("sample.data.uniquePOS", lapply(sample.data.uniquePOS, function(x) .indexday(sample.data.uniquePOS)))
这应该通过它们的日期索引来命名它们(例如,如果 2012 年 1 月 1 日,那么它将是“2012-01-01”作为元素名称)。不幸的是,它不起作用,生成一个长度列表,sample.data.uniquePOS
但每个元素都命名为sample.data.uniquePOSnumeric(0)
。我认为问题在于.indexday
被应用于列表,而应该应用于xts
对象,但我不知道如何解决它。
下一步是生成将绘图保存到的文件路径,然后执行绘图:
mypath <- file.path("C:", "Documents and Settings",
paste("Date_", names(sample.data.uniquePOS), ".jpg", sep = ""))
jpg(file=mypath)
mytitle = paste("my title is", names(sample.data.uniquePOS))
candleChart(sample.data.uniquePOS[[1]]:sample.data.uniquePOS[[length(sample.data.uniquePOS)]])
dev.off()
}
这有同样的问题,candleChart
需要应用于xts
对象而不是列表:
Error in try.xts(x, error = "chartSeries requires an xtsible object") :
chartSeries requires an xtsible object
我真的很感激这方面的帮助!