2016-05-18 6 views
0

Прошу прощения за то, что, вероятно, очень простой вопрос, но я не смог найти пример, чтобы понять это. Я загружаю простые CSV-данные в dygraphs, где строка содержит другое время, а затем значения для нескольких переменных (в то время). Я могу получить данные, чтобы сделать сюжет просто прекрасным. Тем не менее, мне интересно, как получить dygraphs для выполнения функций с этими данными. Вначале я просто хотел бы вычислить разницу между временными шагами различных переменных, но после этого я хотел бы сделать некоторые дополнительные вещи, такие как средние и стандартные отклонения. Я предполагаю, что мне нужно сделать математику в коде javascript, но не знаю, как это сделать.Разница во временных рядах в диграфах

Итак, если кто-то может предоставить простой пример того, как вычислить разницу между временными шагами переменной и получить диаграммы, чтобы я мог бы это оценить. Вот что я имею в виду ...

Если это были предоставленные данные.

1: DateTime, var1, var2 2: DateTime, var1, var2 3: DateTime, var1, var2 ....

На каждом DateTime, я хотел бы найти значение var1 -var1 в предыдущем DateTime и var2-var2 в предыдущем периоде DateTime, и нарисуйте их.

ответ

0

Это должно сработать. Поскольку вы не предоставили набор данных, я создал его. Комментарии в коде должны объяснять, что делает каждый шаг. Не стесняйтесь публиковать вопросы в комментариях.

df <- data.frame(time=c("2016-05-03","2016-05-04","2016-05-05"),start=c(5,4,2),end=c(2,6,3)) 
library(dplyr) 
#get dataframe with each row minus the previous row 
df<-mutate(df, diff.end= end-lag(end),diff.start= start-lag(start)) 
#convert the date string to a date object 
dates<-format(as.Date(df$time),format="%Y-%m-%d") 
#create dataframe with just the data we want to plot 
df<-cbind(df$diff.start,df$diff.end) 
colnames(df)<-c("starting.diff","ending.diff") 
#make the dataframe a time series object 
timeseriesobj<-xts(df,order.by=as.Date(dates)) 
timeseriesobj 
#create the dygraph 
dygraph(timeseriesobj) 
#note that the first point doesnt get plotted because its starting and ending values are NA 

выходного кода при запуске:

> df <- data.frame(time=c("2016-05-03","2016-05-04","2016-05-05"),start=c(5,4,2),end=c(2,6,3)) 
> library(dplyr) 
> #get dataframe with each row minus the previous row 
> df<-mutate(df, diff.end= end-lag(end),diff.start= start-lag(start)) 
> #convert the date string to a date object 
> dates<-format(as.Date(df$time),format="%Y-%m-%d") 
> #create dataframe with just the data we want to plot 
> df<-cbind(df$diff.start,df$diff.end) 
> colnames(df)<-c("starting.diff","ending.diff") 
> #make the dataframe a time series object 
> timeseriesobj<-xts(df,order.by=as.Date(dates)) 
> timeseriesobj 
      starting.diff ending.diff 
2016-05-03   NA   NA 
2016-05-04   -1   4 
2016-05-05   -2   -3 
> #create the dygraph 
> dygraph(timeseriesobj) 
> #note that the first point doesnt get plotted because its starting and ending values are NA 

 Смежные вопросы

  • Нет связанных вопросов^_^