当我尝试在每日外汇数据上执行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”的格式化格式,不知道这是不是正确的格式?
有人可以帮我解决问题吗?
由于
答案 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)