Sie können nur die format
Funktion wie folgt:
format(Date, '%Y%j')
die gibt:
[1] "2016161" "2016162" "2016163"
Wenn Sie es auf andere Weise zu formatieren, siehe ?strptime
für alle möglichen Optionen.
Alternativ können Sie die year
und yday
Funktionen aus den data.table
oder lubridate
Pakete verwenden und sie zusammen mit paste0
einfügen:
library(data.table) # or: library(lubridate)
paste0(year(Date), yday(Date))
, die Ihnen das gleiche Ergebnis.
Die Werte, die von beiden Optionen zurückgegeben werden, sind Klassenzeichen. Wickeln Sie die obigen Lösungen in as.numeric()
, um reelle Zahlen zu erhalten.
Gebrauchte Daten:
> Date <- Sys.Date() + 1:3
> Date
[1] "2016-06-09" "2016-06-10" "2016-06-11"
> class(Date)
[1] "Date"
@ katya-Handler Grundsätzlich ist jedes andere Format (Datum,) Funktion, war nicht klar% j existierte. Wenn andere existieren, würde ich gerne wissen, bezog sich auf diese Website: [link] (http://www.statmethods.net/input/dates.html) – LanceS
Der 'Format' Abschnitt in der Dokumentation von [' as.Date'] (https://stat.ethz.ch/R-manual/R-devel/library/base/html/as.Date.html) verweist auf die entsprechende Dokumentation von ['strptime'] (https: //stat.ethz.ch/R-manual/R-devel/library/base/html/strptime.html), wo alle Datum-Zeit-Konvertierungsspezifikationen aufgeführt sind. – RHertel