R Quantmod chartSeries()错误

时间:2013-07-22 09:58:47

标签: r quantmod

当我尝试在每日外汇数据上执行chartSeries时遇到以下错误。

我认为csv数据集应该按顺序排列,没有遗漏字段或

之间的无效数据

使用getSymbols()

成功执行的csv数据示例
Date,Open,High,Low,Close,Volume,Adjusted
2005-06-13,1.0796,1.0812,1.0749,1.0791,9456,0
2005-06-14,1.0792,1.0806,1.0784,1.0793,11229,0
2005-06-15,1.0791,1.0799,1.0775,1.0783,9861,0
2005-06-16,1.0785,1.0820,1.0776,1.0813,10687,0
2005-06-17,1.0815,1.0863,1.0796,1.0843,8829,0
2005-06-20,1.0842,1.0864,1.0823,1.0850,8391,0
2005-06-21,1.0853,1.0891,1.0836,1.0879,9864,0

chartSeries(AUDNZD,type="candlestick")

Error :
Error in if(on=="years") {:missing values where TRUE/FALSE needed

我甚至添加了以下选项

chartSeries(AUDNZD,type="candlestick",**subset="null",bar.type="olhc", major.ticks="day",plot="true"**) 

到chartSeries(),然后错误变为

Error in if (length(c(year,month,day, hour,min,sec))==6 && c(year,:missing values where TRUE/FALSE needed

看起来好像时间序列可能是错误的原因,chartSeries函数以某种方式试图确定要应用的正确的时间序列比例,日期字段是以字符串格式“yyyy-mm-dd”的格式化格式,不知道这是不是正确的格式?

有人可以帮我解决问题吗?

由于

1 个答案:

答案 0 :(得分:1)

你去吧

> aud <- read.csv("c:\\aud.csv")
> aud
        Date   Open   High    Low  Close Volume Adjusted
1 2005-06-13 1.0796 1.0812 1.0749 1.0791   9456        0
2 2005-06-14 1.0792 1.0806 1.0784 1.0793  11229        0
3 2005-06-15 1.0791 1.0799 1.0775 1.0783   9861        0
4 2005-06-16 1.0785 1.0820 1.0776 1.0813  10687        0
5 2005-06-17 1.0815 1.0863 1.0796 1.0843   8829        0
6 2005-06-20 1.0842 1.0864 1.0823 1.0850   8391        0
7 2005-06-21 1.0853 1.0891 1.0836 1.0879   9864        0
> aud.xts <- as.xts(zoo(aud[,2:6],order.by=as.Date(aud$Date)))
> chart_Series(aud.xts)

enter image description here