【问题标题】:How do I create a time series in R?如何在 R 中创建时间序列?
【发布时间】:2015-04-01 02:59:03
【问题描述】:

给定一个数据框:

'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。下一步是将系列聚合成每日一...

【问题讨论】:

  • hd$hour[1] 中的高清是什么?你的意思是'f'?

标签: r time-series


【解决方案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)

【讨论】:

  • 究竟是什么表明新的TS是按小时索引的?当我plot 它时,x 轴标记为整数索引,而不是时间
  • 我想要一个每小时的时间序列,然后我可以将其聚合成每天的时间序列。
猜你喜欢
  • 2019-02-05
  • 2021-12-21
  • 2021-12-09
  • 1970-01-01
  • 2020-09-13
  • 2021-01-13
  • 2022-08-14
  • 2020-07-04
  • 2013-06-13
相关资源
最近更新 更多