首页 文章

dygraph无法读取我的data.frame

提问于
浏览
1

我想生成带有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()

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

然后我将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

提前感谢大家的时间和见解 . -M

1 回答

  • 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()
    

相关问题