首页 文章

R Quantmod chartSeries()错误

提问于
浏览
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”,不知道是否这是正确的格式吗?

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

谢谢

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)
    

    enter image description here

相关问题