El lenguaje de programación R proporciona una variedad de formas para tratar con datos de fecha y fecha/hora. La función incorporada del marco as.Date es responsable del manejo de fechas solo, la biblioteca chron en R maneja tanto fechas como horas, sin soporte para zonas horarias; mientras que las clases POSIXct y POSIXlt brindan soporte para manejar objetos de fecha y hora, así como zonas horarias. Se puede realizar una fácil conversión de objetos de fecha y hora a otros objetos relacionados con la fecha.
Método 1: usar como fecha()
Los objetos de fecha se almacenan como el número de días calculado a partir del 1 de enero de 1970, donde los números negativos se utilizan para hacer referencia a fechas anteriores. Los objetos de fecha admiten aritmética básica directamente, donde los números enteros se suman o restan directamente de las fechas. Se suma o se resta N cantidad de días directamente y se devuelve el formato de fecha estándar como salida. El objeto Fecha también puede especificar diferentes formatos para contener las fechas. El método as.Date() toma como entrada un objeto de fecha de string y lo convierte en un objeto de fecha.
as.Date(character date object)
El siguiente fragmento de código de R ilustra el uso de objetos de fecha:
R
# declaring a date object date <- as.Date("2020/12/11") print ("Original Date") print (date) # subtracting 3 days from date # object n = 3 # subtracting days new_sub_date <- date - n print ("Subtracted Date") print (new_sub_date) # adding days new_add_date <- date + n print ("Added Date") print (new_add_date)
Producción:
[1] "Original Date" [1] "2020-12-11" [1] "Subtracted Date" [1] "2020-12-08" [1] "Added Date" [1] "2020-12-14"
Método 2: paquete de lubricación en R
Lubridate es un paquete R para simular el trabajo fácilmente con objetos de fecha y hora. Ofrece una amplia gama de funciones para realizar modificaciones en los objetos del día. El método ymd() en R se usa para extraer la parte de fecha del objeto de fecha y hora, que se convierte en formatos estándar de años, meses y días. El método days() acepta un número entero como argumento y realiza operaciones aritméticas en los objetos Date utilizando operadores matemáticos directamente.
Sintaxis: ymd(fecha)
Argumentos: fecha: objeto de fecha de string
Devoluciones: objeto de fecha en formato ymd
Código:
R
# using required libraries library(lubridate) # declaring a date object date <- "2009-10-01" print ("Original Date") print (date) # subtracting 3 days from date # object n = 3 # subtracting days new_sub_date <- date - n print ("Subtracted Date") print (new_sub_date) # adding days new_add_date <- date + n print ("Added Date") print (new_add_date)
Producción:
[1] "Original Date" [1] "2009-10-01" [1] "Subtracted Date" [1] "2009-09-25" [1] "Added Date" [1] "2009-10-07"
La misma aritmética también se puede realizar utilizando la función days() en R, que toma como argumento el valor entero correspondiente al número de días:
R
# using required libraries library(lubridate) # declaring a date object date <- "2009-10-01" print ("Original Date") print (date) # subtracting days n = 6 sub_date <- ymd(date) - days(6) print ("Subtracted Date") print (sub_date) # adding days new_add_date <- ymd(date) + days(0) print ("Added Date") print (new_add_date)
Producción:
[1] "Original Date" [1] "2009-10-01" [1] "Subtracted Date" [1] "2009-09-25" [1] "Added Date" [1] "2009-10-01"