Das ist peinlich: Ich gebe mehrere Teile des Codes von mir eine ähnliche Struktur wie dieses:Wie erstelle ich eine ID-Variable basierend auf der Rolling-Date-Regel?
arghhhh! Schaukeln echte Programmierer, wenn sie so etwas sehen?
Die Figur sollte selbsterklärend sein: Ich brauche eine variable Saison genannt, die eine ID „(Jahr-1) _ (Jahr)“ gibt auf der Grundlage der WEATHERDATE Spalte.
So sollte jede Zeile mit Daten von "1998-06-15" bis "1999-06-14" "1998-1999" unter der Saison ID-Spalte zurückgeben.
Die Spalte WEATHERDATE läuft einfach von 1998-01-01 bis HEUTE.
Ich wette, es gibt eine One/Two-Liner-Lösung zu diesem. Ich habe versucht, die Zoo-Paket aber keinen Erfolg.
Irgendein R-Assistent, um mich auf die offensichtliche Lösung zu verweisen, die ich hier vermisse?
*** REPRODUZIERBARE Beispiel:
WEATHERDATE <- seq(as.Date("1998-01-01"), len=99999, by=1)
VARIABLE <- rnorm(n = length(WEATHERDATE))
data_mex <- data.frame(WEATHERDATE, VARIABLE)
## how to create SEASON based on dates??
# I would then run the code block from above, something like:
data_mex <- within(data_mex, Season[DATEWEATHER >= ymd(StartOfSeason)+365*0 & DATEWEATHER < ymd(StartOfSeason)+365*1 ] <- "1998-1999")
Natürlich ist eine Lösung, wo muss ich den Code zurück und berühren Sie nicht kommen jedes Jahr wäre ideal :)
Sehr schön, @ajrwhite. tail (data_mex) zeigt an, dass es für das/die letzte (n) Jahr (e) der Dataseries fehlschlägt. Gibt es eine Chance, dass Sie das auf Ihrer Antwort beheben können? – Dan
Wie bereits erwähnt, müssen Sie den richtigen Bereich in 'seq.Date' angeben, um Ihren Daten zu entsprechen. In diesem Fall habe ich 'Sys.Date()' in '" 2280-06-15 "' geändert, was Ihnen eine vollständige Abdeckung Ihres Beispieldatensatzes bietet. – ajrwhite
Natürlich! Danke, @ajrwhite – Dan