如何在 R 中创建时间序列?
How do I create a time series in 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
增加一小时,如何创建 time series?
我要单系列,每天24条记录。
我知道我一定漏掉了一些微不足道的东西。
我试过了as.ts(f$z, start=c(hd$hour[1],1), end=c(tail(f$hour,1),1)))
。没有。
谢谢。
PS。下一步是将系列汇总成每日...
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)
给定一个数据框:
'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
增加一小时,如何创建 time series?
我要单系列,每天24条记录。
我知道我一定漏掉了一些微不足道的东西。
我试过了as.ts(f$z, start=c(hd$hour[1],1), end=c(tail(f$hour,1),1)))
。没有。
谢谢。
PS。下一步是将系列汇总成每日...
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)