Estimados: Tengo la siguiente matriz de datos:> consultasidProvincia Provincia a2002.iv a2003.i a2003.ii a2003.iii a2003.iv a2004.i 1 1 BUENOS AIRES 1,497,515 2,426,758 3,317,094 3,981,913 3,982,320 4,082,995 2 2 CAPITAL FEDERAL 84,581 173,672 222,065 217,656 211,537 221,983 3 3 CATAMARCA 8,533 23,602 103,840 139,583 155,490 165,681 4 4 CHACO 142,589 240,029 400,891 581,510 569,630 550,476 5 5 CHUBUT 38,847 61,930 99,964 121,983 135,666 133,713 6 6 CORDOBA 138,281 471,660 1,002,984 1,240,039 1,245,946 1,414,945 Es un data.frame que corresponde a una serie de consultas por provincia (idProvincia, Provincia) por trimestre para datos de 2002 (iv trimestre) a 2011 (iii trimestre).- Estoy intentando definirlo como una serie de tiempo, para usarlo para modelar cada Provincia por separado, algo así como lo que resultaría de:> consultas.serie <- ts(x,frequency=4, start = c(2002, 3))a lo que le faltaría el parámetro para definir que idProvincia y Provincia son una dimensión espacial. Pero incluso filtrando una sola provincia, el comando no funciona. Entiendo que debería convertir los datos a un vector, y luego si funcionaría, pero tampoco se hacerlo :( y supongo no es la forma elegante. ¿Con qué comandos puedo acomodar el data.frame para trabajar con series temporales según provincia? No es posible ajustar el archivo de base porque es un .xls que resulta de otros tantos, y la intención es usar R a partir de este resultado. Muchas gracias. -- Mauricio [[alternative HTML version deleted]]
Hola. Antes de convertir a serie temporal tienes que reorganizar los datos, por filas los trimestres y por columnas las provincias. El paquete reshape te puede ayudar en eso o bien traspones los datos en una hoja de cálculo. Un saludo Gregorio R. Serrano El 22 de octubre de 2011 20:59, Mauricio Monsalvo <m.monsalvo@gmail.com>escribió:> Estimados: > Tengo la siguiente matriz de datos: > > consultas > > idProvincia Provincia a2002.iv a2003.i a2003.ii a2003.iii > a2003.iv a2004.i > 1 1 BUENOS AIRES 1,497,515 2,426,758 3,317,094 3,981,913 > 3,982,320 4,082,995 > 2 2 CAPITAL FEDERAL 84,581 173,672 222,065 217,656 > 211,537 221,983 > > 3 3 CATAMARCA 8,533 23,602 103,840 139,583 > 155,490 165,681 > 4 4 CHACO 142,589 240,029 400,891 581,510 > 569,630 550,476 > 5 5 CHUBUT 38,847 61,930 99,964 121,983 > 135,666 133,713 > > 6 6 CORDOBA 138,281 471,660 1,002,984 1,240,039 > 1,245,946 1,414,945 > > Es un data.frame que corresponde a una serie de consultas por provincia > (idProvincia, Provincia) por trimestre para datos de 2002 (iv trimestre) a > 2011 (iii trimestre).- > Estoy intentando definirlo como una serie de tiempo, para usarlo para > modelar cada Provincia por separado, algo así como lo que resultaría de: > > consultas.serie <- ts(x,frequency=4, start = c(2002, 3)) > a lo que le faltaría el parámetro para definir que idProvincia y Provincia > son una dimensión espacial. Pero incluso filtrando una sola provincia, el > comando no funciona. Entiendo que debería convertir los datos a un vector, > y > luego si funcionaría, pero tampoco se hacerlo :( y supongo no es la forma > elegante. > ¿Con qué comandos puedo acomodar el data.frame para trabajar con series > temporales según provincia? > No es posible ajustar el archivo de base porque es un .xls que resulta de > otros tantos, y la intención es usar R a partir de este resultado. > Muchas gracias. > -- > Mauricio > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Dr. Gregorio R. Serrano Dpto. Economía Cuantitativa (UCM) Voz:+34 91394 2361 Fax:+34 91394 2591 http://www.grserrano.es [[alternative HTML version deleted]]
Hola, De esta forma con un bucle sí que cicla sobre cada provincia y genera el objeto ts... lin.dat<-"idProvincia Provincia a2002.iv a2003.i a2003.ii a2003.iii a2003.iv a2004.i 1 BUENOS_AIRES 1497515 2426758 3317094 3981913 3982320 4082995 2 CAPITAL_FEDERAL 8458 173672 222065 217656 211537 221983 3 CATAMARCA 8533 23602 103840 139583 155490 165681 4 CHACO 142589 240029 400891 581510 569630 550476 5 CHUBUT 38847 61930 99964 121983 135666 133713 6 CORDOBA 138281 471660 1002984 1240039 1245946 1414945 " dat.df <- read.table(textConnection(lin.dat), skip=1, as.is = TRUE, col.names=c("Id", "Prov", "a2002.4", "a2003.1", "a2003.2", "a2003.3", "a2003.4","a2004.1")) closeAllConnections() p.d<-dat.df$Prov for(i in 1:length(p.d)) { print(p.d[i]) d.f.ts<-unlist(c(dat.df[dat.df$Prov==p.d[i], 3:8])) names(d.f.ts)<-NULL ts.dat<-ts(d.f.ts, frequency=4, start(2002,4)) plot(ts.dat) } Saludos, Carlos Ortega www.qualityexcellence.es El 22 de octubre de 2011 20:59, Mauricio Monsalvo <m.monsalvo@gmail.com>escribió:> Estimados: > Tengo la siguiente matriz de datos: > > consultas > > idProvincia Provincia a2002.iv a2003.i a2003.ii a2003.iii > a2003.iv a2004.i > 1 1 BUENOS AIRES 1,497,515 2,426,758 3,317,094 3,981,913 > 3,982,320 4,082,995 > 2 2 CAPITAL FEDERAL 84,581 173,672 222,065 217,656 > 211,537 221,983 > > 3 3 CATAMARCA 8,533 23,602 103,840 139,583 > 155,490 165,681 > 4 4 CHACO 142,589 240,029 400,891 581,510 > 569,630 550,476 > 5 5 CHUBUT 38,847 61,930 99,964 121,983 > 135,666 133,713 > > 6 6 CORDOBA 138,281 471,660 1,002,984 1,240,039 > 1,245,946 1,414,945 > > Es un data.frame que corresponde a una serie de consultas por provincia > (idProvincia, Provincia) por trimestre para datos de 2002 (iv trimestre) a > 2011 (iii trimestre).- > Estoy intentando definirlo como una serie de tiempo, para usarlo para > modelar cada Provincia por separado, algo así como lo que resultaría de: > > consultas.serie <- ts(x,frequency=4, start = c(2002, 3)) > a lo que le faltaría el parámetro para definir que idProvincia y Provincia > son una dimensión espacial. Pero incluso filtrando una sola provincia, el > comando no funciona. Entiendo que debería convertir los datos a un vector, > y > luego si funcionaría, pero tampoco se hacerlo :( y supongo no es la forma > elegante. > ¿Con qué comandos puedo acomodar el data.frame para trabajar con series > temporales según provincia? > No es posible ajustar el archivo de base porque es un .xls que resulta de > otros tantos, y la intención es usar R a partir de este resultado. > Muchas gracias. > -- > Mauricio > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]