Bueno, la solución era un poco tonta. Me contesto para que conste en el archivo de la lista.

La ayuda de la función acf ya especifica: "The lag is returned and plotted in units of time, and not numbers of observations."

Pero eso solo puede hacerlo si la serie es un objeto de de clase zoo, ts, timeSeries, etc... Es decir, si la función index(objeto) puede extraer tal fecha.

La solución es tan tonta como:

Data.ts<-as.data.frame(objeto)

Y al pasar a tener la estructura data.frame se pierden las fechas. Incluso aunque se complete la instrucción con un añadido del tipo:

rownames(Data.ts)<-index(objeto)

La función index no opera sobre Data.ts y en el eje x se representan los retardos como yo pretendía.

Saludos.


El 30/08/18 a las 20:17, José Trujillo Carmona escribió:
Gracias Carlos por tu ayuda. Pero no vale.

Para el caso de la función plot de una serie temporal, el caso que
remites, hay incluso una solución mejor en la ayuda de la función
axis.POSIXct del paquete graphics y hasta un paquete específico
(timeSeries) que resuelve el problema de poner la escala X en las
unidades que se desee.

Pero estas mismas instrucciones aplicadas a las funciones acf y pacf dan
error.

Concretamente para que axis.POSICXct funcione, la función inicial de
dibujo debe dejar limpio el eje x, para que después axis.POSICXct la
añada el eje. Pero ni acf ni pacf aceptan la opción xaxt="n".

Y no he encontrado otra forma de hacerlo. Por otra parte también habría
que extraer la secuencia de tiempos de la función acf y pacf. Todo
bastante complicadito.

Esperaba que alguien lo hubiese hecho anteriormente y me allanase un
poco el camino. Pero veo que tendré que currarmelo solito.

Gracias de todos modos.


El 30/08/18 a las 18:42, Carlos Ortega escribió:
Hola,

Esto creo que te puede ayudar:

https://stackoverflow.com/questions/8054373/use-hours-on-the-x-axis-when-plotting-with-zoo-in-r

Saludos,
Carlos Ortega
www.qualityexcellence.es <http://www.qualityexcellence.es>

El 30 de agosto de 2018, 14:22, José Trujillo Carmona
<[email protected] <mailto:[email protected]>> escribió:

     Estimados amigos

     Estoy dibujando las funciones acf y pacf de una variable de una
     serie "zoo":

     > ls.str(pat="T0.5")
     T0.5 : 'zoo' series from 2017-11-08 23:00:00 to 2017-11-15 06:59:00
       Data: num [1:9120, 1:3] 55 49.8 51 50.1 36.5 ...
       Index:  POSIXct[1:9120], format: "2017-11-08 23:00:00"
     "2017-11-08 23:01:00" "2017-11-08 23:02:00" "2017-11-08 23:03:00"
     "2017-11-08 23:04:00" "2017-11-08 23:05:00" ...

     En concreto la variable Difer:

     > T0.5$Difer[1:2]
     2017-11-08 23:00:00 2017-11-08 23:01:00
                    0.10                0.72

     Pero el problema que tengo es que me pone la escala del eje en
     segundos.

     > index(T0.5$Difer[1:2])
     [1] "2017-11-08 23:00:00 CET" "2017-11-08 23:01:00 CET"

     Es decir, 24 horas son 86400 unidades del eje.

     Preferiría que la escala del eje x del acf y del pacf fuesen o
     bien los retardos entre observaciones (1, 2, 3, ...) o en todo
     caso en minutos, horas, ...

     ¿Cómo se cambia la escala del eje? No los extremos del mismo
     (opción xlim) sino la escala.

     Muchas gracias de antemano.

     Saludos.

     _______________________________________________
     R-help-es mailing list
     [email protected] <mailto:[email protected]>
     https://stat.ethz.ch/mailman/listinfo/r-help-es
     <https://stat.ethz.ch/mailman/listinfo/r-help-es>




--
Saludos,
Carlos Ortega
www.qualityexcellence.es <http://www.qualityexcellence.es>

        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es

_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a