[R-es] Duda con xts

Mauricio Monsalvo m.monsalvo en gmail.com
Mie Nov 9 02:38:54 CET 2016


Hola.
Tengo un problema que no logro resolver, quizá por apurado...
Parto de estos datos (adjuntos):
        Fecha Unidades
 1: 2011-01-15   125919
 2: 2011-02-15   120472
 3: 2011-03-15   128118
..
66: 2016-06-15   202038
67: 2016-07-15   185107
         Fecha Unidades
#​Lo paso a xts
library(xts)
datos.ts <- xts(datos$Unidades, order.by=as.Date(datos$Fecha)) #Como fecha
colnames(datos.ts)<-"Unidades"
#Y Luego trato de hacer pronóstico para los próximos 5 meses:
library(forecast)
​meanf(datos.ts, 5) #Por la media
  Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
1       205345.8 141917.3 268774.3 107518.1 303173.6
2       205345.8 141917.3 268774.3 107518.1 303173.6
3       205345.8 141917.3 268774.3 107518.1 303173.6
4       205345.8 141917.3 268774.3 107518.1 303173.6
5       205345.8 141917.3 268774.3 107518.1 303173.6
#Y por otros dos métodos similares (y también simplones):
snaive(datos.ts, 5) #Estacional
rwf(datos.ts, 5, drift=T)​
#Pero ​cuando intento graficar los resultados, no logro hacer funcionar el
xlim tal que "estire" el eje x hasta diciembre de 2016.
datos.plot <- plot(datos.ts, main="Unidades por mes del Seg(Tiras), (Ene,
2011->Jun, 2016)"
     ,ylab="Cantidad de Unidades", xlab="Meses")# Anda, pero si incorporo
algo así como: xlim=c(1, 72)) no...
     lines(snaive(datos.ts, h=5)$mean, col=4)
     lines(rwf(datos.ts, h=5)$mean, col=2)
     lines(rwf(datos.ts, h=5, drift=T)$mean, col=3)
     legend("topleft",lty=1, col=c(4,2,3),
            legend=c("Season naiev method","Naive method","Drift method"))
#Y entonces las líneas que quiero proyectar no se ven :( y no puedo
presentar los resultados claramente. ¿Por qué no entiende c=(1,67) ni
(1,72)?
​
#También me vendría muy bien expresar el objeto xts en meses, tal que:​
​datos
.ts <- xts(
​datos
$Unidades, order.by=as.yearmon(
​datos
$Fecha)) #Como mes
​#En ese caso, por la media funciona:
meanf(datos.ts, 5) #Por la media
  Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
1       205345.8 141917.3 268774.3 107518.1 303173.6
2       205345.8 141917.3 268774.3 107518.1 303173.6
3       205345.8 141917.3 268774.3 107518.1 303173.6
4       205345.8 141917.3 268774.3 107518.1 303173.6
5       205345.8 141917.3 268774.3 107518.1 303173.6
#Pero los otros métodos no...
naive(datos.ts, 5) #Ultimo valor
Error in .cbind.ts(list(e1, e2), c(deparse(substitute(e1))[1L],
deparse(substitute(e2))[1L]),  :
  not all series have the same frequency​
​Y no veo por qué... Además, sospecho que sería más fácil para mi graficar,
etc, utilizando los meses en lugar de la fecha. Aunque tampoco logro hacer
funcionar el xlim en esta variante.
Muchas gracias por la ayuda,
Saludos
-- 
Mauricio
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20161108/579e43e9/attachment.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: datos.csv
Type: text/csv
Size: 1621 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20161108/579e43e9/attachment.bin>


Más información sobre la lista de distribución R-help-es