Hola!! tengo un data.frame donde cada fila corresponde a un año y cada columna a un mes (De enero a diciembre)> head(valT)V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 1941 18.0 16.3 15.2 10.1 8.1 8.3 8.8 9.2 7.9 12.2 11.9 14.6 1942 17.2 15.9 13.6 11.6 8.7 6.2 6.4 7.2 9.7 12.0 14.1 16.7 1943 17.6 17.3 13.5 12.5 10.5 7.0 8.2 7.9 -999.9 -999.9 13.5 17.7 1944 18.3 17.0 15.7 -999.9 9.6 9.4 8.0 7.5 9.5 10.6 14.6 17.4 1945 19.8 17.5 15.8 12.8 10.9 8.1 7.3 8.3 10.3 11.7 13.4 14.9 1946 15.9 15.0 14.2 12.7 9.2 7.6 8.1 8.6 10.2 10.8 13.1 15.2 Me gustaría transformarlo a un objeto "zoo" o "ts", es decir, que R reconozca que cada fila es un año y cada columna es un mes. Alguna sugerencia??? Muchas gracias Milagros [[alternative HTML version deleted]]
Intenta, zooreg(T, frequency = 12, start = c(1941, 1)) o utilizando el paquete ts ts(T, frequency = 12, start = c(1941, 1)) Un saludo. Olivier -- ____________________________________ Olivier G. Nuñez Email: onunez en unex.es http://matematicas.unex.es/~onunez Tel : +34 663 03 69 09 Departamento de Matemáticas Universidad de Extremadura ____________________________________ El 15/02/2013, a las 17:11, Milagros Rodriguez escribió:> Hola!! > > tengo un data.frame donde cada fila corresponde a un año y cada > columna a > un mes (De enero a diciembre) > >> head(valT) > > V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 > V12 V13 > 1941 18.0 16.3 15.2 10.1 8.1 8.3 8.8 9.2 7.9 12.2 11.9 14.6 > 1942 17.2 15.9 13.6 11.6 8.7 6.2 6.4 7.2 9.7 12.0 14.1 16.7 > 1943 17.6 17.3 13.5 12.5 10.5 7.0 8.2 7.9 -999.9 -999.9 13.5 17.7 > 1944 18.3 17.0 15.7 -999.9 9.6 9.4 8.0 7.5 9.5 10.6 14.6 17.4 > 1945 19.8 17.5 15.8 12.8 10.9 8.1 7.3 8.3 10.3 11.7 13.4 14.9 > 1946 15.9 15.0 14.2 12.7 9.2 7.6 8.1 8.6 10.2 10.8 13.1 15.2 > > > Me gustaría transformarlo a un objeto "zoo" o "ts", es decir, que R > reconozca que cada fila es un año y cada columna es un mes. > > > Alguna sugerencia??? > > Muchas gracias > > Milagros > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es
Hola. Gracias Olivier! Con lo sugerido obtengo:> zooreg(valT, frequency = 12, start = c(1941, 1))V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 1941(1) 1941 18.0 16.3 15.2 10.1 8.1 8.3 8.8 9.2 7.9 12.2 11.9 14.6 1941(2) 1942 17.2 15.9 13.6 11.6 8.7 6.2 6.4 7.2 9.7 12.0 14.1 16.7 1941(3) 1943 17.6 17.3 13.5 12.5 10.5 7.0 8.2 7.9 NA NA 13.5 17.7 1941(4) 1944 18.3 17.0 15.7 NA 9.6 9.4 8.0 7.5 9.5 10.6 14.6 17.4 ..... Pero no es correcto el resultado. Sin embargo, logré que lo hiciera con: valT.ts <- ts(valT, start = 1941, end = 2006) class(valT.ts) [1] "mts" "ts"> valT.tsTime Series: Start = 1941 End = 2006 Frequency = 1 V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 1941 1941 18.0 16.3 15.2 10.1 8.1 8.3 8.8 9.2 7.9 12.2 11.9 14.6 1942 1942 17.2 15.9 13.6 11.6 8.7 6.2 6.4 7.2 9.7 12.0 14.1 16.7 1943 1943 17.6 17.3 13.5 12.5 10.5 7.0 8.2 7.9 NA NA 13.5 17.7 1944 1944 18.3 17.0 15.7 NA 9.6 9.4 8.0 7.5 9.5 10.6 14.6 17.4 1945 1945 19.8 17.5 15.8 12.8 10.9 8.1 7.3 8.3 10.3 11.7 13.4 14.9 1946 1946 15.9 15.0 14.2 12.7 9.2 7.6 8.1 8.6 10.2 10.8 13.1 15.2 1947 1947 15.9 15.9 NA NA 10.2 9.8 7.6 7.6 9.8 11.9 14.2 14.7 ..... Pero al intentar aplicar la función:> na.aggregate(valT.ts, months)Error en UseMethod("months") : no applicable method for ''months'' applied to an object of class "ts" Y no logro tener el formato necesario con mis datos. Cómo se podrá solucionar? Gracias nuevamente! El 15 de febrero de 2013 15:24, Olivier Nuñez <onunez@unex.es> escribió:> Intenta, > > zooreg(T, frequency = 12, start = c(1941, 1)) > > o utilizando el paquete ts > > ts(T, frequency = 12, start = c(1941, 1)) > > Un saludo. Olivier > > -- ______________________________**______ > > Olivier G. Nuñez > Email: onunez@unex.es > http://matematicas.unex.es/~**onunez <http://matematicas.unex.es/~onunez> > Tel : +34 663 03 69 09 > Departamento de Matemáticas > Universidad de Extremadura > > ______________________________**______ > > > > > > El 15/02/2013, a las 17:11, Milagros Rodriguez escribió: > > Hola!! >> >> tengo un data.frame donde cada fila corresponde a un año y cada columna a >> un mes (De enero a diciembre) >> >> head(valT) >>> >> >> V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 >> 1941 18.0 16.3 15.2 10.1 8.1 8.3 8.8 9.2 7.9 12.2 11.9 14.6 >> 1942 17.2 15.9 13.6 11.6 8.7 6.2 6.4 7.2 9.7 12.0 14.1 16.7 >> 1943 17.6 17.3 13.5 12.5 10.5 7.0 8.2 7.9 -999.9 -999.9 13.5 17.7 >> 1944 18.3 17.0 15.7 -999.9 9.6 9.4 8.0 7.5 9.5 10.6 14.6 17.4 >> 1945 19.8 17.5 15.8 12.8 10.9 8.1 7.3 8.3 10.3 11.7 13.4 14.9 >> 1946 15.9 15.0 14.2 12.7 9.2 7.6 8.1 8.6 10.2 10.8 13.1 15.2 >> >> >> Me gustaría transformarlo a un objeto "zoo" o "ts", es decir, que R >> reconozca que cada fila es un año y cada columna es un mes. >> >> >> Alguna sugerencia??? >> >> Muchas gracias >> >> Milagros >> >> [[alternative HTML version deleted]] >> >> ______________________________**_________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/**listinfo/r-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es> >> > >[[alternative HTML version deleted]]
Hola, La verdad es que no sé si esto te valdrá... porque no sé qué quieres hacer después... ################################################## Lines <- "Year V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 1941 18.0 16.3 15.2 10.1 8.1 8.3 8.8 9.2 7.9 12.2 11.9 14.6 1942 17.2 15.9 13.6 11.6 8.7 6.2 6.4 7.2 9.7 12.0 14.1 16.7 1943 17.6 17.3 13.5 12.5 10.5 7.0 8.2 7.9 -999.9 -999.9 13.5 17.7 1944 18.3 17.0 15.7 -999.9 9.6 9.4 8.0 7.5 9.5 10.6 14.6 17.4 1945 19.8 17.5 15.8 12.8 10.9 8.1 7.3 8.3 10.3 11.7 13.4 14.9 1946 15.9 15.0 14.2 12.7 9.2 7.6 8.1 8.6 10.2 10.8 13.1 15.2 " t.data<-textConnection(Lines) datos<-read.table(t.data, header=T, as.is=T) close(t.data) library(reshape2) library(sqldf) datosres <- melt(datos, id.vars=c(1)) datos.ord <- sqldf("select * from datosres order by Year") dat.zoo <- zooreg(datos.ord$value, start=1946, frequency=12) ################################################## Saludos, Carlos Ortega www.qualityexcellence.es El 15 de febrero de 2013 19:49, Milagros Rodriguez < milagrosrodriguezc@gmail.com> escribió:> Hola. Gracias Olivier! > Con lo sugerido obtengo: > > zooreg(valT, frequency = 12, start = c(1941, 1)) > V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 > 1941(1) 1941 18.0 16.3 15.2 10.1 8.1 8.3 8.8 9.2 7.9 12.2 11.9 14.6 > 1941(2) 1942 17.2 15.9 13.6 11.6 8.7 6.2 6.4 7.2 9.7 12.0 14.1 16.7 > 1941(3) 1943 17.6 17.3 13.5 12.5 10.5 7.0 8.2 7.9 NA NA 13.5 17.7 > 1941(4) 1944 18.3 17.0 15.7 NA 9.6 9.4 8.0 7.5 9.5 10.6 14.6 17.4 > ..... > > Pero no es correcto el resultado. > > Sin embargo, logré que lo hiciera con: > valT.ts <- ts(valT, start = 1941, end = 2006) > class(valT.ts) > [1] "mts" "ts" > > > valT.ts > > Time Series: > Start = 1941 > End = 2006 > Frequency = 1 > V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 > 1941 1941 18.0 16.3 15.2 10.1 8.1 8.3 8.8 9.2 7.9 12.2 11.9 14.6 > 1942 1942 17.2 15.9 13.6 11.6 8.7 6.2 6.4 7.2 9.7 12.0 14.1 16.7 > 1943 1943 17.6 17.3 13.5 12.5 10.5 7.0 8.2 7.9 NA NA 13.5 17.7 > 1944 1944 18.3 17.0 15.7 NA 9.6 9.4 8.0 7.5 9.5 10.6 14.6 17.4 > 1945 1945 19.8 17.5 15.8 12.8 10.9 8.1 7.3 8.3 10.3 11.7 13.4 14.9 > 1946 1946 15.9 15.0 14.2 12.7 9.2 7.6 8.1 8.6 10.2 10.8 13.1 15.2 > 1947 1947 15.9 15.9 NA NA 10.2 9.8 7.6 7.6 9.8 11.9 14.2 14.7 > ..... > > Pero al intentar aplicar la función: > > > na.aggregate(valT.ts, months) > Error en UseMethod("months") : > no applicable method for ''months'' applied to an object of class "ts" > > > Y no logro tener el formato necesario con mis datos. Cómo se podrá > solucionar? > > Gracias nuevamente! > > > El 15 de febrero de 2013 15:24, Olivier Nuñez <onunez@unex.es> escribió: > > > Intenta, > > > > zooreg(T, frequency = 12, start = c(1941, 1)) > > > > o utilizando el paquete ts > > > > ts(T, frequency = 12, start = c(1941, 1)) > > > > Un saludo. Olivier > > > > -- ______________________________**______ > > > > Olivier G. Nuñez > > Email: onunez@unex.es > > http://matematicas.unex.es/~**onunez <http://matematicas.unex.es/~onunez > > > > Tel : +34 663 03 69 09 > > Departamento de Matemáticas > > Universidad de Extremadura > > > > ______________________________**______ > > > > > > > > > > > > El 15/02/2013, a las 17:11, Milagros Rodriguez escribió: > > > > Hola!! > >> > >> tengo un data.frame donde cada fila corresponde a un año y cada columna > a > >> un mes (De enero a diciembre) > >> > >> head(valT) > >>> > >> > >> V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 > >> 1941 18.0 16.3 15.2 10.1 8.1 8.3 8.8 9.2 7.9 12.2 11.9 14.6 > >> 1942 17.2 15.9 13.6 11.6 8.7 6.2 6.4 7.2 9.7 12.0 14.1 16.7 > >> 1943 17.6 17.3 13.5 12.5 10.5 7.0 8.2 7.9 -999.9 -999.9 13.5 17.7 > >> 1944 18.3 17.0 15.7 -999.9 9.6 9.4 8.0 7.5 9.5 10.6 14.6 17.4 > >> 1945 19.8 17.5 15.8 12.8 10.9 8.1 7.3 8.3 10.3 11.7 13.4 14.9 > >> 1946 15.9 15.0 14.2 12.7 9.2 7.6 8.1 8.6 10.2 10.8 13.1 15.2 > >> > >> > >> Me gustaría transformarlo a un objeto "zoo" o "ts", es decir, que R > >> reconozca que cada fila es un año y cada columna es un mes. > >> > >> > >> Alguna sugerencia??? > >> > >> Muchas gracias > >> > >> Milagros > >> > >> [[alternative HTML version deleted]] > >> > >> ______________________________**_________________ > >> R-help-es mailing list > >> R-help-es@r-project.org > >> https://stat.ethz.ch/mailman/**listinfo/r-help-es< > https://stat.ethz.ch/mailman/listinfo/r-help-es> > >> > > > > > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]