si può semplicemente utilizzare la funzione format
come segue:
format(Date, '%Y%j')
che dà:
[1] "2016161" "2016162" "2016163"
Se si desidera formattare in altri modi, vedi ?strptime
per tutte le possibili opzioni.
In alternativa, è possibile utilizzare i year
e yday
funzioni dalle data.table
o lubridate
pacchetti e incollarli insieme paste0
:
library(data.table) # or: library(lubridate)
paste0(year(Date), yday(Date))
che vi darà lo stesso risultato.
I valori restituiti da entrambe le opzioni sono di carattere di classe. Avvolgi le soluzioni di cui sopra in as.numeric()
per ottenere numeri reali.
dati utilizzati:
> Date <- Sys.Date() + 1:3
> Date
[1] "2016-06-09" "2016-06-10" "2016-06-11"
> class(Date)
[1] "Date"
@ katya-handler pratica ogni altro formato (data,) la funzione, non si rese conto% esistito Se altri esistono mi piacerebbe sapere, stava facendo riferimento a questo sito: [link] (http://www.statmethods.net/input/dates.html) – LanceS
La sezione 'format' nella documentazione di [' as.Date'] (https://stat.ethz.ch/R-manual/R-devel/library/base/html/as.Date.html) collega alla documentazione pertinente di ['strptime'] (https: //stat.ethz.ch/R-manual/R-devel/library/base/html/strptime.html dove sono elencate tutte le specifiche di conversione date-time. – RHertel