在R,它可能格式化POSIXlt日期時間目標爲一個月:在R中將日期時間格式化爲季節?
format(Sys.time(), format='%Y-%m')
有沒有辦法做到隨季節,或3個月組(DJF,MAM,JJA,SON同樣的事情)?這些部門在氣候學和生態科學領域非常普遍,如果能夠像數月一樣快速地對其進行格式化,那將是非常好的。很明顯,DJF落在兩年以上,但爲了這個目的或這個問題,這並不重要 - 只要一直推到兩年,(或者,理想情況下,能夠指定他們進入哪一年是很好的) 。
我使用輸出作爲by()
的索引,所以輸出格式並不重要,只要每年/每個季節都是唯一的。
編輯:示例數據:
dates <- Sys.Date()+seq(1,380, by=35)
dates <- structure(c(16277, 16312, 16347, 16382, 16417, 16452, 16487,
16522, 16557, 16592, 16627), class = "Date")
dates
#[1] "2014-07-26" "2014-08-30" "2014-10-04" "2014-11-08" "2014-12-13"
# "2015-01-17" "2015-02-21" "2015-03-28" "2015-05-02" "2015-06-06" "2015-07-11"
應導致:
c("2014-JJA", "2014-JJA", "2014-SON", "2014-SON", "2015-DJF", "2015-DJF",
"2015-DJF", "2015-MAM", "2015-MAM", "2015-JJA", "2015-JJA")
但是, 「2015年 - DJF」 S也可能是 「2014 - DJF」。此外,輸出的形式並不重要 - 「2104q4或201404也將被罰款
[這裏](http://stackoverflow.com/questions/9500114/find-which-season-a-particular-date-belongs-to/9501225#9501225)相關的問題和答案。 –
如果Q1是DJF等,那麼將其轉換爲'「yearmon」'類,添加一個月並將其轉換爲'「yearqtr」'class:'library(zoo);格式(as.yearqtr(as.yearmon(Sys.time())+ 1/12))'。如果您需要不同的格式,您可以使用格式字符串,例如'格式(as.yearqtr(as.yearmon(Sys.time())+ 1/12),「%Y-%q」)' –