Dates and Date-Times Classes

Lluís Ramon
05/02/2014

Barcelona R users Group

Introducció

  • Motivació
  • Diferenciar entre Date i Date-time
  • Converir Dates i Date-times
  • Operacions amb Dates
  • Package lubridate
  • Sctipt exemple en R

Motivació de la presentació

Per les seves particularitats, les dates són complicades en general:

  • Diferents formats (5/11/13, 11-05-2013, …)
  • Hores, minuts, etc (2014-01-17 o 2014-01-17 14:14:32 CET)
  • Diferents timezones (CET, CEST, …)
  • Diferents locals

A l'R hi ha diferents classes que ho implementen, Date, POSIXct, chron, date.

Diferenciar Dates i Date-time

  • Date: Represents calendar dates in R.
Sys.Date()
[1] "2014-02-06"
  • POSIXCT: Represents calendar dates and times in R.
Sys.time()
[1] "2014-02-06 19:14:12 CET"

Classes

Date

Number of days since 1970-01-01

POSIXct

Number of seconds since the beginning of 1970

POSIXlt

Named list of vectors sec, min , hour, etc

Conversió a Dates

Character a Date

  • as.Date (especificar format, accepta moltes classes)
  • strftime
  • ISOdate (character any, mes, dia per separat)

Date a Character

  • as.character
  • format

Operacions

  • date + x (x numeric)
  • date - x
  • date1 == date2
  • date1 < date2
  • format
  • difftime
  • seq
  • months, weekdays,

Package lubridate

Garantia Hadley Wickham

“Dates and Times Mades Easy with lubridate package”

És útil per les següents tasques:

  • Reconeixer formats de forma fàcil*
  • Extreure components d'una Date-time*
  • Calculs i operacions amb temps
  • Tractar time zones

Referencies

Com he fet la presentació?

sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

locale:
[1] es_ES.UTF-8/es_ES.UTF-8/es_ES.UTF-8/C/es_ES.UTF-8/es_ES.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] knitr_1.5

loaded via a namespace (and not attached):
[1] evaluate_0.5.1 formatR_0.10   stringr_0.6.2  tools_3.0.2