2015-03-30 202 views
1

如果有一个数据帧:如何在R中创建时间序列?

'data.frame': 2122 obs. of 2 variables: 
$ hour : POSIXlt, format: "2015-01-01 00:00:00" "2015-01-01 01:00:00" ... 
$ z : int 756 693 675 369 224 487 595 705 573 713 ... 

其中hour被加上1小时,我怎么创建一个time series

我想要一个系列,每天24条记录。

我知道我必须错过一些微不足道的东西。我试过as.ts(f$z, start=c(hd$hour[1],1), end=c(tail(f$hour,1),1)))。不。

谢谢。

PS。下一步将是该系列聚合成成每天一个...

+0

什么是高清的'$高清小时[1]'?你的意思是'f'? – Soheil 2015-03-30 19:38:30

+0

'“2015-01-01 EST”' – sds 2015-03-30 19:39:21

回答

1
library(ggplot2) 
f<-data.frame(hour=seq(as.POSIXct("2015-01-01 00:00:00"), 
        as.POSIXct("2015-01-02 23:00:00"),by="hour"), 
       z=seq(1,48,by=1)) 

f$hour<- format(f$hour, format="%Y/%m/%d %H") 

ggplot(f, aes(x=hour, y=z))+ 
    geom_point(col="brown1",size=1) 

骨料,你可以选择你的时间每天格式:

f$hour<- format(f$hour, format="%Y/%m/%d") 
result<-aggregate(.~hour,f, sum) 
+0

什么实际上表明新的TS由_hour_索引?当我“绘制”它时,'x'轴用整数索引标记,而不是时间 – sds 2015-03-30 22:08:41

+0

@sds:我编辑过。 – Soheil 2015-03-30 22:15:57

+0

我想要一个每小时时间系列,然后我可以聚合成一个每日系列。 – sds 2015-03-31 18:39:00