如何使用动物园功能创建月度系列

时间:2014-03-09 16:52:46

标签: r zoo

每月有一个系列,我想创建一个带日期排的动物园系列,每日系列一个,这个:

dailyserie<- as.numeric(1:365)
x.Date <- as.Date("2003-01-01") + c(1:365) - 1
Zooserie <- zoo(dailyserie, x.Date)

我有一个1974年至1989年的月度系列,如何在上面进行,但有几个月?

谢谢!

2 个答案:

答案 0 :(得分:3)

您可以使用seq.Date生成一系列每月日期:

from <- as.Date("1974-01-01")
to <- as.Date("1989-12-31")
months <- seq.Date(from=from,to=to,by="month")

values <- rep.int(0,length(months))

Zooserie <- zoo(values, months)

# result:
> head(Zooserie)
1974-01-01 1974-02-01 1974-03-01 1974-04-01 1974-05-01 1974-06-01 
     0          0          0          0          0          0 
> tail(Zooserie)
1989-07-01 1989-08-01 1989-09-01 1989-10-01 1989-11-01 1989-12-01 
     0          0          0          0          0          0 

注意:

seq.Date是泛型函数seq()的S3方法,因此,由于fromtoDate对象,因此您只需调用seq() }和R自动重定向seq.Date

答案 1 :(得分:3)

使用zooregas.yearmon

library(zoo)

values <- 1:192 # replace with your values
zooreg(values, as.yearmon("1974-01"), freq = 12)