[R-es] Extraer datos mensuales de una serie temporal
Oscar Perpiñan Lamigueiro
oscar.perpinan en upm.es
Mie Jul 13 16:57:21 CEST 2011
Aquí plantean algo muy parecido (usando months de base):
http://stackoverflow.com/questions/6356829/subsetting-winter-dez-jan-feb-from-daily-time-series-zoo
Saludos.
Oscar.
El Wed, 13 Jul 2011 16:51:23 +0200
Oscar Perpiñan Lamigueiro <oscar.perpinan en upm.es> escribió:
> Hola,
>
> Como propone Olivier, usando zoo para extraer los registros que
> corresponden al verano necesitas un par de líneas adicionales:
>
> ##Si quieres incorporar la hora dentro del "index" de zoo tendrás que
> ##usar clases POSIXct o chron
> tt=as.POSIXct(paste(datos$FECHA,
> datos$H_SOLAR), format="%y/%m/%d %H:%M:%S")
>
> datZoo <- zoo(datos[,-c(1,2)], tt)
>
> ##Defino una función sencilla para extraer el número de mes de una
> clase ##POSIXct
> ##Simplifiquemos asumiendo que Junio, Julio y Agosto son los meses de
> ##verano.
>
> month <- function (x) as.numeric(format(x, "%m"))
> veranoIdx <- which(month(tt) %in% 6:8)
> veranoZoo <- datZoo[veranoIdx]
> veranoZoo
>
> Saludos.
>
> Oscar
>
> El Wed,
> 13 Jul 2011 13:39:32 +0200 Olivier Nuñez <onunez en iberstat.es>
> escribió:
> > Aquí un ejemplo de extracción con tus datos y paquete zoo:
> >
> > > require(zoo)
> > > T=as.Date(datos$FECHA, "%y/%m/%d")
> > > serie=zoo(datos[,-c(1,2)],T)
> > > serie
> > DIR_M DIR_S VEL_M VEL_S VEL_X U V
> > TEMP_M HR BAT PRECIP RAD UVA UVB FOG GRID
> > 2000-01-01 203.5 6.6 2.0 0.5 -99.9 -99.9 -99.9 6.0 -99.9
> > 9.0 -99.9 -99.9 -99.9 -99.9 -99.9 -99.9
> > 2000-01-02 235.5 7.5 1.8 0.5 -99.9 -99.9 -99.9 6.1 -99.9
> > 8.9 -99.9 -99.9 -99.9 -99.9 -99.9 -99.9
> > 2000-01-03 217.4 6.1 1.4 0.5 -99.9 -99.9 -99.9 7.0 -99.9
> > 8.9 -99.9 -99.9 -99.9 -99.9 -99.9 -99.9
> > 2000-01-04 202.5 8.6 1.8 0.5 -99.9 -99.9 -99.9 6.4 -99.9
> > 8.8 -99.9 -99.9 -99.9 -99.9 -99.9 -99.9
> > 2000-01-05 198.5 7.1 1.8 0.5 -99.9 -99.9 -99.9 5.4 -99.9
> > 8.8 -99.9 -99.9 -99.9 -99.9 -99.9 -99.9
> > 2000-01-06 212.1 6.9 1.8 0.5 -99.9 -99.9 -99.9 5.5 -99.9
> > 8.7 -99.9 -99.9 -99.9 -99.9 -99.9 -99.9
> > 2000-01-07 204.7 7.1 2.0 0.5 -99.9 -99.9 -99.9 5.4 -99.9
> > 8.7 -99.9 -99.9 -99.9 -99.9 -99.9 -99.9
> > 2000-01-08 209.7 5.8 1.4 0.5 -99.9 -99.9 -99.9 5.3 -99.9
> > 8.7 -99.9 -99.9 -99.9 -99.9 -99.9 -99.9
> > 2000-01-09 237.8 6.9 1.9 0.5 -99.9 -99.9 -99.9 7.3 -99.9
> > 8.6 -99.9 -99.9 -99.9 -99.9 -99.9 -99.9
> > > window(serie, start = "2000-01-04", end = "2000-01-06")
> > DIR_M DIR_S VEL_M VEL_S VEL_X U V
> > TEMP_M HR BAT PRECIP RAD UVA UVB FOG GRID
> > 2000-01-04 202.5 8.6 1.8 0.5 -99.9 -99.9 -99.9 6.4 -99.9
> > 8.8 -99.9 -99.9 -99.9 -99.9 -99.9 -99.9
> > 2000-01-05 198.5 7.1 1.8 0.5 -99.9 -99.9 -99.9 5.4 -99.9
> > 8.8 -99.9 -99.9 -99.9 -99.9 -99.9 -99.9
> > 2000-01-06 212.1 6.9 1.8 0.5 -99.9 -99.9 -99.9 5.5 -99.9
> > 8.7 -99.9 -99.9 -99.9 -99.9 -99.9 -99.9
> >
> >
> > Un saludo
> > --
> > ____________________________________
> >
> > Olivier G. Nuñez
> > Email: onunez en iberstat.es
> > Tel : +34 663 03 69 09
> > Web: http://www.iberstat.es
> >
> > ____________________________________
> >
> >
> >
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
Más información sobre la lista de distribución R-help-es