Divida la columna de fecha y hora en variables de fecha y hora 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.: Usando el objeto POSIXct

Una string de fecha se puede convertir primero en objetos POSIXct y luego se puede realizar la aritmética básica fácilmente. Los objetos POSIXct facilitan el proceso de las operaciones matemáticas, ya que se basan en segundos como la unidad principal de gestión del tiempo. Las fechas se convierten a la zona horaria estándar, UTC. Un objeto de fecha de tipo string se puede convertir en un objeto POSIXct mediante el método as.POSIXct(fecha) en R. 

Sintaxis:

as.POSIXct (fecha, formato)

Parámetro:

fecha: el objeto de fecha de string

formato: el especificador de formato de la fecha

Los objetos de fecha se almacenan como el número de días calculado a partir del 1 de enero de 1970, donde se utilizan números negativos 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 un número 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.

Sintaxis:

as.Date(objeto de fecha de carácter)

El método format() en R se usa para formatear el objeto de fecha y hora especificado en el formato requerido. 

Sintaxis:

formato (fechahora, formato =)

Ejemplo:

R

# declaring a datetime vector
vec <- c("2021-05-08 08:32:07","2021-07-18 00:21:07",
         "2020-11-28 23:32:09","2021-05-11 18:32:07")
 
# creating datetime column in the dataframe
data_frame <- data.frame(datetime = as.POSIXct(
  vec, format = "%Y-%m-%d %H:%M:%S"))
 
print ("Original DataFrame")
print (data_frame)
 
# extracting time
data_frame$time <- format(as.POSIXct(
  data_frame$datetime),format = "%H:%M:%S")
 
# extracting date
data_frame$date <- as.Date (data_frame$datetime)
 
print ("Modified DataFrame")
print (data_frame)

Producción

[1] "Original DataFrame"
datetime
1 
2021-05-08 08:32:07
2 
2021-07-18 00:21:07
3 
2020-11-28 23:32:09
4 
2021-05-11 18:32:07
[1] "Modified DataFrame"
             datetime     time       date
1 2021-05-08 08:32:07 08:32:07 2021-05-08
2 2021-07-18 00:21:07 00:21:07 2021-07-17
3 2020-11-28 23:32:09 23:32:09 2020-11-28
4 2021-05-11 18:32:07 18:32:07 2021-05-11

Método 2: Uso del paquete de lubricación

El paquete Lubridate en el lenguaje de programación R se utiliza para trabajar con objetos de fecha y hora. Facilita el análisis y la manipulación de los objetos y debe instalarse y cargarse en el espacio de trabajo.

La función Sys.time() en R se usa para obtener el objeto de fecha y hora actual según la zona IST. El método hours() en R se usa para tomar como entrada un número entero que indica el número de horas. Los objetos del paquete «lubridar» permiten la aritmética directa sobre sus diversos componentes, por lo tanto, la cantidad de horas se puede restar directamente del objeto de tiempo de lubricación. Un resultado es también un objeto que pertenece a esta clase.

La función Sys.Date() se utiliza para devolver la fecha del sistema.

Sintaxis: Sys.Date()

Parámetros:
No acepta ningún parámetro

El método ymd_hms() en R se usa para ingresar un objeto de fecha y hora en el espacio de trabajo. 

Ejemplo:

R

library("lubridate")
 
# declaring a datetime vector
vec <- c("2021-05-08 08:32:07","2021-07-18 00:21:07",
         "2020-11-28 23:32:09","2021-05-11 18:32:07")
 
# creating datetime column in the dataframe
data_frame <- data.frame(datetime = ymd_hms(vec))
print ("Original DataFrame")
print (data_frame)
 
# extracting time
data_frame$time <- format(as.POSIXct(
  data_frame$datetime),format = "%H:%M:%S")
 
# extracting date
data_frame$date <- as.Date (data_frame$datetime)
print ("Modified DataFrame")
print (data_frame)

Producción

[1] "Original DataFrame"
datetime
1 
2021-05-08 08:32:07
2 
2021-07-18 00:21:07
3 
2020-11-28 23:32:09
4 
2021-05-11 18:32:07
[1] "Modified DataFrame"
             datetime     time       date
1 2021-05-08 08:32:07 08:32:07 2021-05-08
2 2021-07-18 00:21:07 00:21:07 2021-07-17
3 2020-11-28 23:32:09 23:32:09 2020-11-28
4 2021-05-11 18:32:07 18:32:07 2021-05-11

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 *