In R ist es möglich, POSIXlt Datum Zeitobjekte als ein Monat zu formatieren:Format Datum-Uhrzeit als Jahreszeiten in R?
format(Sys.time(), format='%Y-%m')
Gibt es eine Möglichkeit, die gleiche Sache mit Jahreszeit zu tun, oder 3-Monats-Gruppen (DJF, MAM, JJA, SON) Diese Spaltungen sind in der Klimaforschung und in der ökologischen Wissenschaft wirklich üblich, und es wäre großartig, sie so schnell wie in Monaten zu formatieren. Offensichtlich fällt DJF über 2 Jahre, aber für die Zwecke oder diese Frage ist das nicht wirklich wichtig - schieben Sie sie einfach konsequent in jedes Jahr (oder, im Idealfall, wäre es gut, angeben zu können, in welches Jahr sie gehen) .
Ich benutze die Ausgabe als ein Index für by()
, so dass das Ausgabeformat nicht viel ausmacht, nur so lange wie jedes Jahr/Saison ist einzigartig.
Edit: Beispieldaten:
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"
sollte in Folge:
c("2014-JJA", "2014-JJA", "2014-SON", "2014-SON", "2015-DJF", "2015-DJF",
"2015-DJF", "2015-MAM", "2015-MAM", "2015-JJA", "2015-JJA")
Aber die "2015-DJF" s könnte auch "2014-DJF" sein. Auch die Form des Ausgangs keine Rolle spielt - „2104q4 oder 201.404 auch in Ordnung sein würde
[hier] (http://stackoverflow.com/questions/9500114/find-which-season-a-particular-date-belongs-to/9501225#9501225) eine damit verbundene Frage und Antwort. –
Wenn Q1 DJF, etc. ist, wandeln Sie es in '" yearnmon "' Klasse um, fügen Sie einen Monat hinzu und konvertieren Sie es in '" yearqtr "' class: 'library (zoo); Format (as.yearqtr (as.yearmon (Sys.time()) + 1/12)) '. Sie können eine Formatzeichenfolge verwenden, wenn Sie ein anderes Format wünschen, z. 'format (as.yearqtr (as.yearmon (Sys.time()) + 1/12),"% Y-% q ")' –