Foro de debate

series de tiempo

series de tiempo

by camila molina -
Number of replies: 6

Hola!

estoy trabajando con una base de datos de tiendas. En una columna tengo un id unico de tienda, que se repite porque tengo muchas filas con informacion para esa tienda, aprox 12 x 4 ( 12 meses por 4 años).

Mis columnas son

Codigo, ventas, fecha

ej. 101   4.000  01-02-2016

    101  4 4.500 01-03-2016

asi hasta 2019 por ejemplo.

Cabe destacar que no esta ordenado ( informacion de toooda una tienda luego otra y asi..)

Quiero hacer una serie de tiempo para cada codigo.

que me sugieren?

Yo parti tomando unique a la variable codigo y cree un for que recorre esa variable unificada y que me de el valor de la venta asociada pero me tira error.

Eso! espero pudan ayudarme! si alguien con tiempo podemos conversar por otro medio

dese ya muchas gracias


In reply to camila molina

Re: series de tiempo

by M S -
In reply to M S

Re: series de tiempo

by camila molina -
tengo codigo,ventas y fecha. 

Para cada ID hay 12x4 filas con el mismo id pero distinto valor en la celda fecha y venta.

Quiero hacer una serie de tiempo para cada id.

Tengo algo mas o menos asi


Id venta fecha

1101   $4.000    01-02-15

1101   $4.500    01-03-15

.....

1101  $5.000    01-12-15

1102  $2.000    01-01-16

espero se entienda, tambien te hablo por interno!! ojala puedas ayudarme!!!!

In reply to camila molina

Re: series de tiempo

by Manuel Muñoz Márquez -

Buenas:

Si tienes un data.frame d con las columnas Id, venta, fecha y quieres quedarte con las filas con un id, por ejemplo, 1101, basta con que hagas

d1101 <- d[d$Id == 1101]

Un saludo.

In reply to Manuel Muñoz Márquez

Re: series de tiempo

by camila molina -

muchas gracias! y si quiero dos condiciones, como seria?

ej tomar todas las filas con ID=1101 y local= santiago


Te leo!

In reply to camila molina

Re: series de tiempo

by Manuel Muñoz Márquez -

Buenas:

Pues sería

d1101santiago <- d[d$Id == 1101 & d$local == "Santiago"]
Atención: El & es sencillo para que el resultado sea un vector.

Saludos.

In reply to camila molina

Re: series de tiempo

by M S -

Camila:

Sigo sin tener muy claro qué busca. No obstante, dándole vueltas puede que estas líneas le sean de utilidad. En lugar de aplicar una función time.series con la que no estoy familiarizado por razones de práctica diaria, sí le muestro un ejemplo con la función de regresión lm. Imagino que como punto de inicio nos puede ayudar, y posteriormente adaptarse al caso que busca. No sé realmente qué función y salida persigue.

El código de abajo le ejecuta fácilmente una función de regresión lineal en cada agrupación predefinida, en este caso según id.producto (10 tipos de productos diferentes, del 1 al 10).

#-----------------------------------------------------------------------#

prueba <- data.frame(

  id=seq(1,1000),

  id.product=sample(1:10,1000, replace=TRUE),

  Y=sample(1000000:5000000,1000, replace=TRUE),

  X=sample(1000:1200,1000, replace=TRUE),

  fecha=sample(seq(as.Date('2019/01/01'), as.Date('2019/03/28'), by="day"), 1000, replace=TRUE)

)

library(dplyr)

prueba.reg<-prueba %>%

  group_by(id.product) %>%

  group_map(~ broom::tidy(lm(Y ~ X, data = .x))) %>%

  print()

#-----------------------------------------------------------------------#