es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Serie de fechas y horas R con valores faltantes

Estoy convirtiendo de chr a POSIXct formateado como “%Y-%m-%d %H:%M:%S”, sin embargo, algunos de los horarios en el conjunto de datos no tienen la parte de los segundos (%S), por lo que al convertir a DateTime, los horarios sin los segundos se devuelven como celdas vacías – NA. ¿Cómo puedo asegurarme de que esto no suceda? Quiero que todos se devuelvan como DateTime sin importar si faltan algunas partes de tiempo o no.

Los date-times que están en este formato (“%Y-%m-%d %H:%M:%S”) se devuelven correctamente como POSIXct.

Pero los date-times que están en este formato (“%Y-%m-%d %H:%M”) se devuelven como NA.

Este es el código utilizado para la conversión:

trips$ended_at <- as.POSIXct(trips$ended_at, format = “%Y-%m-%d %H:%M:%S”)

Es un conjunto de datos enorme con más de un millón de entradas, así que ni siquiera sé qué datetimes no tienen la parte de los segundos. ¿Hay alguna manera de que aquellos sin la parte de los segundos simplemente tengan ceros al final? Por ejemplo, 2020-29-04 01:57 se devolverá como 2020-29-04 01:57:00 cuando se convierta a POSIXct.

¡Por favor, ayuda!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para asegurarse de que todos los date-times se devuelvan como POSIXct, sin importar si tienen o no la parte de segundos, puede modificar el código de formato para incluir la parte de segundos como opcional utilizando el formato “%S?”. El signo de interrogación ‘?’ indica que el código de formato anterior es opcional. Por lo tanto, su código ahora se vería así:

    trips$ended_at <- as.POSIXct(trips$ended_at, format = "%Y-%m-%d %H:%M:%S?")

    Esto convertirá todos los date-times con o sin la parte de segundos al formato POSIXct correcto, llenando la parte de segundos con ceros.

Comments are closed.