2016-04-30 46 views
1

以下是我的数据集。用时间变量创建一个dygraph

Time Sunday Saturday 
12:00pm 0.45  0.53 
2:00pm 0.30  0.01 
4:00pm 0.04  0.00 
6:00pm 0.01  0.16 
8:00pm 0.20  0.30 

我试图创建一个dygraph但是当我尝试,我得到如下:

dygraph(df) 
Error in dygraph(df) : Unsupported type passed to argument 'data'. 

基本上,我的问题是我怎么转换时间变量转换为可识别的变量作为R的时间。

我试过format="%H:%M"但这样会导致变量有NAs。

+0

请你的问题重现的。 –

回答

2

您必须将您的数据表转换为timeseries对象。请注意,今天的日期将被格式化为strptime。还要注意的是,时区是BST

rm(list=ls()) 
library(dygraphs) 
library(xts) 
options(stringsAsFactors=F) 
my_data <- as.data.frame(cbind(Time=c("12:00pm","2:00pm","4:00pm","6:00pm","8:00pm"), Sunday=c(0.45,0.3,0.04,0.01,0.2), 
           Saturday=c(0.52,0.01,0,0.16,0.3))) 
my_data$Time <- strptime(my_data[,1],format="%I:%M %p") 
my_data <- xts(my_data[,-1], order.by=my_data[,1]) 
index(my_data) <- index(my_data)-0 
dygraph(my_data) 

enter image description here

+0

感谢这个答案,但你为什么需要'index(my_data)< - index(my_data)-0'? – hartmut