Mam wektor dat i dla każdego wpisu, chciałbym przypisać sezon. Na przykład, jeśli data jest między 21.12. i 21.3., powiedziałbym, że to jest winter
. Do tej pory próbowałem poniższy kod, ale nie mogłem uczynić go bardziej ogólny, niezależnie od roku.Znajdź, w którym sezonie konkretna data należy do
my.dates <- as.Date("2011-12-01", format = "%Y-%m-%d") + 0:60
low.date <- as.Date("2011-12-15", format = "%Y-%m-%d")
high.date <- as.Date("2012-01-15", format = "%Y-%m-%d")
my.dates[my.dates <= high.date & my.dates >= low.date]
[1] "2011-12-15" "2011-12-16" "2011-12-17" "2011-12-18" "2011-12-19" "2011-12-20" "2011-12-21" "2011-12-22" "2011-12-23" "2011-12-24" "2011-12-25"
[12] "2011-12-26" "2011-12-27" "2011-12-28" "2011-12-29" "2011-12-30" "2011-12-31" "2012-01-01" "2012-01-02" "2012-01-03" "2012-01-04" "2012-01-05"
[23] "2012-01-06" "2012-01-07" "2012-01-08" "2012-01-09" "2012-01-10" "2012-01-11" "2012-01-12" "2012-01-13" "2012-01-14" "2012-01-15"
Próbowałem formatować daty bez roku, ale to nie działa.
ld <- as.Date("12-15", format = "%m-%d")
hd <- as.Date("01-15", format = "%m-%d")
my.dates[my.dates <= hd & my.dates >= ld]
Nie zapomnij umieścić w sezon ponownego zamawiania przełącz na naszych przyjaciół w Oz :-) –
@CarlWitthoft An d Nowa Zelandia! I Brazylia ... Jeśli chodzi o Angelinos (LA) i pory roku: może być tylko jeden! – Iterator
Należy zauważyć, że wiele odpowiedzi tutaj koncentruje się na okresach astronomicznych (jak są one powszechnie stosowane w Europie).W niektórych miejscach (np. W Australii), a także często w nauce, sezony są po prostu określane jako okresy trzymiesięczne (DJF, MAM
naught101