Hola a todos: Tengo un objeto de este tipo: time <- as.POSIXct(seq(as.POSIXct("2011-11-01 00:00:00"),as.POSIXct("2011-11-30 23:59:00"),60)) data1 <- rnorm(length(time)) data2 <- rnorm(length(time)) data3 <- rnorm(length(time)) foo <- zoo(data.frame(data1,data2,data3),time) Quiero hacer medias horarias de las tres variable "data" que están medidas para cada minuto ¿Sabeis si existe alguna función o forma para realizar esto sin tener que utilizar for/while? ¿Cómo haría para crear la nueva variable de tiempo? ¿Podría hacerlo así: new.time <- as.POSIXct(seq(start(subdata),end(subdata),60*60)) ? Gracias por adelantado, Alberto. [[alternative HTML version deleted]]
Buenas, como mandas un ejemplo reproducible, te contesto con código: ?aggregate.zoo time.h <- as.POSIXct(format(time, "%Y-%m-%d %H:00:00")) foo.h <- aggregate(foo, by=time.h, mean) Un saludo Gregorio R. Serrano El 7 de diciembre de 2011 11:26, Alberto Soria <alberto.soria@ari-solar.es>escribió:> Hola a todos: > > Tengo un objeto de este tipo: > > time <- as.POSIXct(seq(as.POSIXct("2011-11-01 > 00:00:00"),as.POSIXct("2011-11-30 23:59:00"),60)) > data1 <- rnorm(length(time)) > data2 <- rnorm(length(time)) > data3 <- rnorm(length(time)) > foo <- zoo(data.frame(data1,data2,data3),time) > > > Quiero hacer medias horarias de las tres variable "data" que están medidas > para cada minuto ¿Sabeis si existe alguna función o forma para realizar > esto sin tener que utilizar for/while? ¿Cómo haría para crear la nueva > variable de tiempo? ¿Podría hacerlo así: new.time <- > as.POSIXct(seq(start(subdata),end(subdata),60*60)) ? > > Gracias por adelantado, > Alberto. > > [[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]]
¡Gracias Gregorio! Justo lo que quería. Un saludo, Alberto. El 7 de diciembre de 2011 11:42, Gregorio R. Serrano <grserrano@ccee.ucm.es>escribió:> Buenas, como mandas un ejemplo reproducible, te contesto con código: > > ?aggregate.zoo > time.h <- as.POSIXct(format(time, "%Y-%m-%d %H:00:00")) > foo.h <- aggregate(foo, by=time.h, mean) > > Un saludo > Gregorio R. Serrano > > El 7 de diciembre de 2011 11:26, Alberto Soria <alberto.soria@ari-solar.es > > escribió: > >> Hola a todos: >> >> Tengo un objeto de este tipo: >> >> time <- as.POSIXct(seq(as.POSIXct("2011-11-01 >> 00:00:00"),as.POSIXct("2011-11-30 23:59:00"),60)) >> data1 <- rnorm(length(time)) >> data2 <- rnorm(length(time)) >> data3 <- rnorm(length(time)) >> foo <- zoo(data.frame(data1,data2,data3),time) >> >> >> Quiero hacer medias horarias de las tres variable "data" que están medidas >> para cada minuto ¿Sabeis si existe alguna función o forma para realizar >> esto sin tener que utilizar for/while? ¿Cómo haría para crear la nueva >> variable de tiempo? ¿Podría hacerlo así: new.time <- >> as.POSIXct(seq(start(subdata),end(subdata),60*60)) ? >> >> Gracias por adelantado, >> Alberto. >> >> [[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]]