0

当我尝试对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”,不知道是否这是正确的格式吗?

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

谢谢

4

1 回答 1

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)

在此处输入图像描述

于 2013-07-22T12:21:41.707 回答