dygraph无法读取我的data.frame

时间:2017-08-08 02:16:45

标签: r formatting dygraphs posixct

我想生成带有data.frame的dygraph我从CSV文件导入。我怀疑我的日期列格式不正确。我的日期列最初为%m/%d/%y格式。

如果适用,第1列是类(因子),第2列和第3列是类(整数)。这是头(mydata)

Date      term1          term2
1 7/1/16   2304              0
2 7/2/16   2304              0
3 7/3/16   1628              0
4 7/4/16   1230              0
5 7/5/16   1216              5
6 7/6/16   2056              0

这是dygraph命令:

library(tidyverse)
library(dygraphs)
dygraph(mydata, main = "mydata") %>% 
  dyRangeSelector()

我收到错误:不支持的类型传递给参数'数据'。

然后我将mydata $ Date转换为POSIXct,如下所示:

mydata$DateTime=as.POSIXct(paste(mydata$Date, mydata$Time), format="%Y%m%d %H%M%S")

我希望上面的内容能够解决问题,但我仍然收到同样的错误。当我查看(mydata)时,我看到了:

  Date   term1         term2  DateTime
1 <NA>   2304              0     <NA>
2 <NA>   2304              0     <NA>
3 <NA>   1628              0     <NA>
4 <NA>   1230              0     <NA>
5 <NA>   1216              5     <NA>
6 <NA>   2056              0     <NA>
显然,这只会使问题恶化。

我能够在导入的股票数据上使用dygraph,并且基于头部(我的股票数据),正确的头部(mydata)将如下所示:

           Date                Open  High  Low    Close  Volume
2016-02-03 2016-02-02 18:00:00 18.00 18.88 16.000 18.20 4157398
2016-02-04 2016-02-03 18:00:00 18.26 19.42 17.570 18.50  469900
2016-02-05 2016-02-04 18:00:00 18.84 18.88 17.520 17.60  219900
2016-02-08 2016-02-07 18:00:00 17.52 18.00 15.720 15.85  372100
2016-02-09 2016-02-08 18:00:00 15.50 15.50 12.748 12.81  744100
2016-02-10 2016-02-09 18:00:00 13.01 14.00 12.790 13.09  260800

提前感谢大家的时间&amp;洞察力。 -M

1 个答案:

答案 0 :(得分:1)

library(zoo)
library(highcharter)
library(xts)

Date=mydata6$Date=as.Date(as.character(mydata6$Date,"%Y-%m-%d"))
Open=mydata6$Open=as.numeric(na.locf(mydata6$Open))
High=mydata6$High=as.numeric(na.locf(mydata6$High))
Z=cbind(Open, High)
newdata=xts(Z,mydata$Date)
dygraph(newdata, main = "Stock") %>% 
  dyRangeSelector()