在20分钟的时间间隔内为大数据灌封Dygraph

时间:2016-12-29 23:40:14

标签: r

我是R的新手,我试图为2014-09-02 12:00:00到2014-12-12 11:40:00的时间序列绘制dygraph。每20分钟获取一次数据。我的数据如下所示。

Date                Temp2   Temp3
9/1/2014 12:20:00   22.7    22.7
9/1/2014 12:40:00   22.5    22.8
9/1/2014 12:20:00   22.4    22.9
9/1/2014 01:00:00   22.3    22.9
9/1/2014 01:20:00   22.2    22.9
9/1/2014 01:40:00   22.2    22.9
9/1/2014 02:00:00   22.1    23

数据持续了四个月。以下是我尝试但未能成功的代码。

## My data frame(Data) contains 7347 rows.
data1<-rnorm(Data`)
# The data collected every 20 min (72 times/day)

d1<-seq(as.POSIXct("2014-09-02 12:00:00"), as.POSIXct("2014-12-12 11:40:00"), by=72)

 df <- data.frame(cbind(d1, data1))

时间序列

ts1<-ts(df[,2:3], start=0,end=101*24,frequency=60/20)

dygraph(df) %>% dyRangeSelector()
    dygraph(ts1) %>% dyRangeSelector()
    dygraph(Temp2) %>% dyRangeSelector()
    dygraph(Tem3) %>% dyRangeSelector()

我感谢任何帮助。

塞拉姆

1 个答案:

答案 0 :(得分:1)

在我看来,你可能有点想法。获得时间序列对象后,可以使用它来绘制图形。如有必要,您可能需要提供可重现的数据以阐明您的观点。

library(data.table)
library(dygraphs)

set.seed(111)
mydf <- data.frame(Date = seq(from = as.POSIXct("2014-09-02 12:00:00", tz = "UTC"),
                              to = as.POSIXct("2014-09-02 14:00:00", tz = "UTC"), by = 1200),
                   Temp2 = sample.int(40, size = 7),
                   Temp3 = sample.int(20, size = 7))

#                 Date Temp2 Temp3
#1 2014-09-02 12:00:00    24    11
#2 2014-09-02 12:20:00    29     9
#3 2014-09-02 12:40:00    15     2
#4 2014-09-02 13:00:00    20    10
#5 2014-09-02 13:20:00    14    17
#6 2014-09-02 13:40:00    38    18
#7 2014-09-02 14:00:00     1     1

# Create a time series object
as.xts.data.table(setDT(mydf)) -> foo

# Draw a figure 
dygraph(foo)

enter image description here

dygraph(foo) %>% dyRangeSelector()

enter image description here