2017-08-30 54 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