我有以下问题。
我的日期如下所示:2006 01
其中2006年是年,01是月。基本上我的格式看起来像 YYYY mm 。问题是,当我尝试使用以下代码时,as.yearmon
仅给出了NA值:
as.yearqtr(as.yearmon(dates) + 1/12)
并将这些NA值提供给as.yearqtr
。
当日期看起来像Jan 2006
时,没有问题。
是否可以将%Y %m
更改为%b %Y
?这意味着2006 01
到Jan 2006
。
基本上,使用此代码,您可以创建一个有用的时间索引,当您想使用气象命名法创建季节性方法时,例如:
zApply(df.rasterbrick, by = as.yearqtr(as.yearmon(df.rasterbrick@z$date) + 1/12), fun = mean)
时间指数中的1月变为例如2月,2月3月等等。
答案 0 :(得分:2)
如果您使用format
中的as.yearmon
参数就足够了。
require(zoo)
as.yearqtr(as.yearmon("2006 01", format = "%Y %m"))
# [1] "2006 Q1"
实际上,你也可以这样做:
as.yearqtr("2006 01", format = "%Y %m")
# [1] "2006 Q1"
如果你只对宿舍感兴趣。当然,您可以根据需要随意抵消数据:
>> as.yearqtr("2006 01", format = "%Y %m") + 6/12
# [1] "2006 Q3"
或
as.yearqtr(as.yearmon("2006 01", format = "%Y %m") + 6/12)
# [1] "2006 Q3"