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.

X antes de la fecha en la serie de tiempo XTS.

Tengo estas 2 columnas, en una columna tengo la fecha y hora y en la otra columna la lectura del dispositivo.
Estoy utilizando xts para convertir la serie de tiempo en un objeto xts, pero después de convertirlo no puedo graficar la serie de tiempo y obtengo una ‘x’ antes de la fecha. y el error ‘x’ debe ser un objeto de serie de tiempo. incluso he usado as.POSIXct(x, format = “%d.%m.%Y %H:%M:%OS”) pero aún así obtengo un error.

X2020.10.13.09.54.00
0.165
X2020.10.13.09.54.30
0.166
X2020.10.13.09.55.00
0.166
X2020.10.13.09.55.30
0.166
X2020.10.13.09.56.00
0.166
X2020.10.13.09.56.30
0.166
X2020.10.13.09.57.00
0.166
X2020.10.13.09.57.30
0.166
X2020.10.13.09.58.00
0.166
X2020.10.13.09.58.30
0.166
X2020.10.13.09.59.00
0.166

Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que los valores de fecha y hora están en un formato no estándar, con un prefijo “X” y puntos separando los valores. Para poder convertir la serie de tiempo en un objeto xts, podemos manipular los valores de fecha y hora al formato estándar de yyyy-mm-dd HH:MM:SS.

    Primero, podemos eliminar el prefijo “X” usando la función gsub:

    dates <- gsub("X", "", dates)
    

    A continuación, podemos reemplazar los puntos por guiones para obtener el formato de fecha estándar:

    dates <- gsub("\\.", "-", dates)
    

    Ahora, podemos usar la función strptime para convertir los valores de fecha de tipo carácter al formato POSIXct:

    dates <- as.POSIXct(dates, format="%Y-%m-%d-%H-%M-%S")
    

    Finalmente, podemos crear el objeto xts usando la función xts() y especificando las columnas de fecha y valor:

    library(xts)
    data_xts <- xts(data$value, order.by = data$date)
    

    Esto debería crear el objeto xts con los valores de fecha y hora correctos, que luego se pueden graficar usando la función plot:

    plot(data_xts)
    

    Si el error “x” persiste, intenta asignar el parámetro order.by a tu llamada de xts:

    data_xts <- xts(data$value, order.by = date)
    

    Esto debería asignar correctamente la fecha como el índice y permitir que el objeto xts se grafique sin errores.

Comments are closed.