¿Cómo sumar y restar días desde y hacia la fecha en R?

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"

Publicación traducida automáticamente

Artículo escrito por yippeee25 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *