2017-08-30 113 views
1

我遇到以下问题。将时间格式更改为as.yearmon的可读格式

我的日期看起来像这样: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 01Jan 2006

基本上,与此代码,你可以创建一个时间指数,这是非常有用的,当你想使用的气象术语创建季节性的手段,例如:

zApply(df.rasterbrick, by = as.yearqtr(as.yearmon([email protected]$date) + 1/12), fun = mean) 

一月指数成为时间实例2月,2月3月等。

回答

2

如果您在as.yearmon中使用format参数,那将足够了。

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" 
+0

太谢谢你了。我已经使用了第一个选项。我在其他地方使用格式,但不直接在'as.yearmon'中使用,虽然它很明显。干杯。 – Nucore