mliugonzal en yahoo.es
2010-Nov-28 13:16 UTC
[R-es] Importar desde excel Series temporales
> Hola a tod@as a ver si me podéis ayudar: > > tengo una base de datos en excel con 120 variables y 58 observaciones para > cada una de ellas y no encuentro la manera de que reconozca la base de > manera correcta, es decir que reconozca que son 120 variables y que se trata > de series temporales. He usado el paquete ts, zoo pero tampoco así consigo > indexarlas de manera correcta. > ¿Me podéis aconsejar como proseguir? > > Gracias de antemano >[[alternative HTML version deleted]]
Debes familiarizarte con la forma de trabajar en R, que en algunos casos es bastante distinta de los programas de econometría clásicos, en particular con las listas y las funciones para manipularlas ?lapply y otros te serán de ayuda. Sobre lo que preguntas, un ejemplo para hacerlo sin necesidad de bucle es: datz <- zooreg(data.frame(x=rnorm(20), y=runif(20))) (lista.ar <- lapply(datz, arima, order=c(1,0,0))) Un saludo Gregorio R. Serrano El 28 de noviembre de 2010 20:14, Yurena Mendoza Lemes < yurena.me.le@gmail.com> escribió:> Muchas Gracias por tu ayuda, sobre todo el ejemplo como se parece bastante > a lo que yo pretendo a hace me ha ayudado bastante. > > A raíz de esto me surge una nueva duda. El nuevo objetvo de series > temporales creados tiene una variable indice, ¿me puede servir ésta para > realizar estimaciones de las 120 series y que me la guarde en un mismo > "lugar" en un mismo objeto? Es decir, por ejemplo quiero estimar los modelos > autoregresivos de mis 120 series cargadas, la "x" quiero que varie para > abarcar las 120 series y que ese resultado sea guardado, es decir lo mismo > que se hace con RATS o con otros programas de programacion con los Loops o > los bucles. > mod.ar <- linear(*x*, m = 2) > mod.ar > > > Muchas Gracias > El 28 de noviembre de 2010 19:33, Gregorio R. Serrano < > grserrano@ccee.ucm.es> escribió: > > Hola. >> >> Pasos a dar 1) exporta el fichero en formato .csv (aunque se pueden cargar >> en R directamente desde Excel), 2) después cargas los datos en R con >> read.csv (tendrás que ajustar opciones de separador y decimales) y 3) el >> data.frame que has creado al cargar los datos lo conviertes a serie temporal >> con ts o zoo. Puedes ver un ejemplo de los pasos 2 y 3 en: >> http://www.grserrano.es/wp/2010/10/ejemplo-r-enlace-de-indices/ >> >> Un saludo >> Gregorio R. Serrano >> >> El 28 de noviembre de 2010 14:16, <mliugonzal@yahoo.es> escribió: >> >>> > Hola a tod@as a ver si me podéis ayudar: >>> > >>> > tengo una base de datos en excel con 120 variables y 58 observaciones >>> para >>> > cada una de ellas y no encuentro la manera de que reconozca la base de >>> > manera correcta, es decir que reconozca que son 120 variables y que se >>> trata >>> > de series temporales. He usado el paquete ts, zoo pero tampoco así >>> consigo >>> > indexarlas de manera correcta. >>> > ¿Me podéis aconsejar como proseguir? >>> > >>> > Gracias de antemano >>> > >>> >>> [[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 >> > >-- 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]]
Buenos días. Me temo que tendrás que seguir leyendo. Un data.frame ya es una lista, así que lapply(pib[,2:59], arima, order=c(1,0,0)) debería devolverte una lista de 58 modelos AR(1), aunque supongo que querrás tomar logaritmos y diferenciar primero. En tu código no entiendo los paréntesis alrededor de pib en (pib)[,-1] y no sé qué efecto tendrán. Además, R distingue entre mayúsculas y minúsculas, así que PIB y pib son distintos. En http://cran.r-project.org/other-docs.html hay mucha documentación. Entre los documentos disponibles en internet para principiantes y en español (muy pocos), merece la pena empezar por R para principiantes<http://cran.r-project.org/doc/contrib/rdebuts_es.pdf>. En inglés, en la dirección anterior, son recomendables: - *Using R for Data Analysis and Graphics – Introduction, Examples and Commentary* <http://cran.r-project.org/doc/contrib/usingR.pdf>, se pueden encontrar ejemplos y datos en la página del autor<http://wwwmaths.anu.edu.au/%7Ejohnm/> . - *IcebreakeR*<http://cran.r-project.org/doc/contrib/Robinson-icebreaker.pdf> . - *The R Guide*<http://cran.r-project.org/doc/contrib/Owen-TheRGuide.pdf> . Un saludo Gregorio R. Serrano El 28 de noviembre de 2010 23:28, Yurena Mendoza Lemes < yurena.me.le@gmail.com> escribió:> He estado leyendo sobre las listas, y cierto que hay que me tengo que > familiriarizar con ellas porque por ejemplo ahora he hecho lo siguiente: > Primero indico que los datos que tengo cargados como "pib" quiero poderlos > tratar como series temporales: > > PIB <- zooreg((pib)[,-1], start=c(1950,1), frequency=1) > > a continuación creo una sublista porque de las 119 series que tengo en > "pib" de la 2 a la 59 los datos son variables sobre PIB y de la 60 a la 119 > son tasas de desempleo "ur" por ello creo las dos siguientes sublistas de > "pib" > > Lstpib <- list(pib[,2:59]) > > Lstur <- list(pib[,60:119]) > > Y ahora llega el fallo, cuando le doy la orden para que me los calcules de > manera separada los datos de PIB y de tasas de desempleo cuando introduzco > > (lista.ar <- lapply(Lstur, arima, order=c(1,0,0))) > > obtengo el siguiente error: > > ERROR: only implemented for univariate time series > > ¿Sabeís que estoy haciendo mal? lo intentado como me dice el manual que > debo poner subindices pero debe ser que no lo estoy haciendo bien > "Lstur[1:58]" > > Por otro lado me surge la duda de como haría si auna determinada función > que tiene por objeto analizar dos series y yo quiero que me analice el país > uno de PIB y ese mismo país las tasas de desempleo es decir la serie uno de > la tasa de desempleo, como debería de proceder, ¿nombrando ambas listas? > ¿que subíndice debo poner? > > Muchas Gracias, > > Saludos > > El 28 de noviembre de 2010 20:37, Gregorio R. Serrano < > grserrano@ccee.ucm.es> escribió: > > Debes familiarizarte con la forma de trabajar en R, que en algunos casos es >> bastante distinta de los programas de econometría clásicos, en particular >> con las listas y las funciones para manipularlas ?lapply y otros te serán de >> ayuda. >> >> Sobre lo que preguntas, un ejemplo para hacerlo sin necesidad de bucle es: >> >> datz <- zooreg(data.frame(x=rnorm(20), y=runif(20))) >> (lista.ar <- lapply(datz, arima, order=c(1,0,0))) >> >> >> Un saludo >> Gregorio R. Serrano >> >> >> El 28 de noviembre de 2010 20:14, Yurena Mendoza Lemes < >> yurena.me.le@gmail.com> escribió: >> >> Muchas Gracias por tu ayuda, sobre todo el ejemplo como se parece bastante >>> a lo que yo pretendo a hace me ha ayudado bastante. >>> >>> A raíz de esto me surge una nueva duda. El nuevo objetvo de series >>> temporales creados tiene una variable indice, ¿me puede servir ésta para >>> realizar estimaciones de las 120 series y que me la guarde en un mismo >>> "lugar" en un mismo objeto? Es decir, por ejemplo quiero estimar los modelos >>> autoregresivos de mis 120 series cargadas, la "x" quiero que varie para >>> abarcar las 120 series y que ese resultado sea guardado, es decir lo mismo >>> que se hace con RATS o con otros programas de programacion con los Loops o >>> los bucles. >>> mod.ar <- linear(*x*, m = 2) >>> mod.ar >>> >>> >>> Muchas Gracias >>> El 28 de noviembre de 2010 19:33, Gregorio R. Serrano < >>> grserrano@ccee.ucm.es> escribió: >>> >>> Hola. >>>> >>>> Pasos a dar 1) exporta el fichero en formato .csv (aunque se pueden >>>> cargar en R directamente desde Excel), 2) después cargas los datos en R con >>>> read.csv (tendrás que ajustar opciones de separador y decimales) y 3) el >>>> data.frame que has creado al cargar los datos lo conviertes a serie temporal >>>> con ts o zoo. Puedes ver un ejemplo de los pasos 2 y 3 en: >>>> http://www.grserrano.es/wp/2010/10/ejemplo-r-enlace-de-indices/ >>>> >>>> Un saludo >>>> Gregorio R. Serrano >>>> >>>> El 28 de noviembre de 2010 14:16, <mliugonzal@yahoo.es> escribió: >>>> >>>>> > Hola a tod@as a ver si me podéis ayudar: >>>>> > >>>>> > tengo una base de datos en excel con 120 variables y 58 observaciones >>>>> para >>>>> > cada una de ellas y no encuentro la manera de que reconozca la base >>>>> de >>>>> > manera correcta, es decir que reconozca que son 120 variables y que >>>>> se trata >>>>> > de series temporales. He usado el paquete ts, zoo pero tampoco así >>>>> consigo >>>>> > indexarlas de manera correcta. >>>>> > ¿Me podéis aconsejar como proseguir? >>>>> > >>>>> > Gracias de antemano >>>>> > >>>>> >>>>> [[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 >>>> >>> >>> >> >> >> -- >> Dr. Gregorio R. Serrano >> Dpto. Economía Cuantitativa (UCM) >> Voz:+34 91394 2361 >> Fax:+34 91394 2591 >> http://www.grserrano.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]]