Hola a todos Estoy intentando extraer un subconjunto de datos de una serie temporal, concretamente quiero extraer los meses de verano de varios años pero no encuentro la manera. Los datos tienen este formato: FECHA;H_SOLAR;DIR_M;DIR_S;VEL_M;VEL_S;VEL_X;U;V;TEMP_M;HR;BAT;PRECIP;RAD;UVA;UVB;FOG;GRID; 00/01/01;23:50:00;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 00/01/02;23:50:00;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 00/01/03;23:50:00;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 00/01/04;23:50:00;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 00/01/05;23:50:00;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 00/01/06;23:50:00;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 00/01/07;23:50:00;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 00/01/08;23:50:00;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 00/01/09;23:50:00;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 Lo que quiero hacer es seleccionar todos los meses de mayo a septiembre de todos los años. He estado leyendo información del paquete zoo pero no consigo nada. Gracias por vuestra ayuda. Paco -- ----------- Francisco Pastor Meteorology department, Instituto Universitario CEAM-UMH http://www.ceam.es ----------- mail: paco en ceam.es skype: paco.pastor.guzman Researcher ID: http://www.researcherid.com/rid/B-8331-2008 Cosis profile: http://www.cosis.net/profile/francisco.pastor ----------- Parque Tecnologico, C/ Charles R. Darwin, 14 46980 PATERNA (Valencia), Spain Tlf. 96 131 82 27 - Fax. 96 131 81 90 --------------------------------------------------------------------- Este mensaje y los ficheros anexos son confidenciales. Los mismos contienen información reservada de la empresa que no puede ser difundida. Si usted ha recibido este correo por error, tenga la amabilidad de eliminarlo de su sistema y avisar al remitente mediante reenvío a su dirección electrónica; no deberá copiar el mensaje ni divulgar su contenido a ninguna persona. Su dirección de correo electrónico junto a sus datos personales forman parte de un fichero titularidad de la Fundación de la Comunidad Valenciana Centro de Estudios Ambientales del Mediterráneo - CEAM, con CIF: G-46957213, cuya finalidad es la de mantener el contacto con Ud. De acuerdo con la Ley Orgánica 15/1999, usted puede ejercitar sus derechos de acceso, rectificación, cancelación y, en su caso, oposición enviando una solicitud por escrito, acompañada de una fotocopia de su DNI dirigida a: Fundación de la Comunidad Valenciana Centro de Estudios Ambientales del Mediterráneo - CEAM. C/ Charles R. Darwin, 14. Parque Tecnológico.46980 PATERNA (Valencia). This message and the attached files are confidential. They contain reserved information belonging to our centre and are not to be broadcast. If you have received this email by mistake, please delete it from your system and alert the sender by returning it to his/her email address. You must not copy or divulge the contents of the message to anyone. Your email address and personal data are included in a file belonging to the Fundación de la Comunidad Valenciana Centro de Estudios Ambientales del Mediterráneo - CEAM, con CIF: G-46957213. The purpose of this file is to allow us to keep in contact with you. In accordance with Organic Law 15/1999, you are permitted to access, rectify, cancel or oppose the contents of this file by submitting a written request, accompanied by a photocopy of your DNI, to: Fundación de la Comunidad Valenciana Centro de Estudios Ambientales del Mediterráneo - CEAM. C/ Charles R. Darwin, 14. Parque Tecnológico.46980 PATERNA (Valencia).
Hola, Sobre el data.frame que expones en tu correo puedes añadir una columna adicional en la que captures el mes y una vez tengas el mes haces una selección de forma que el valor de esa columna sea 6,7 u 8. Para crear esa columna nueva te sugiero que utilices el paquete "lubridate", aunque bueno también con el paquete "chron" lo puedes hacer igualmente. Y en cuanto a el código para extraer los meses de verano sobre esa nueva columna puedes utilizar varias formas: bien directamente sobre el data.frame, con la función "which"... Saludos, Carlos Ortega www.qualityexcellence.es 2011/7/13 Paco Pastor <paco@ceam.es>> Hola a todos > > Estoy intentando extraer un subconjunto de datos de una serie temporal, > concretamente quiero extraer los meses de verano de varios años pero no > encuentro la manera. Los datos tienen este formato: > > FECHA;H_SOLAR;DIR_M;DIR_S;VEL_**M;VEL_S;VEL_X;U;V;TEMP_M;HR;** > BAT;PRECIP;RAD;UVA;UVB;FOG;**GRID; > 00/01/01;23:50:00;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 > 00/01/02;23:50:00;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 > 00/01/03;23:50:00;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 > 00/01/04;23:50:00;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 > 00/01/05;23:50:00;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 > 00/01/06;23:50:00;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 > 00/01/07;23:50:00;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 > 00/01/08;23:50:00;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 > 00/01/09;23:50:00;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 > > Lo que quiero hacer es seleccionar todos los meses de mayo a septiembre de > todos los años. He estado leyendo información del paquete zoo pero no > consigo nada. > > Gracias por vuestra ayuda. > > Paco > > -- > ----------- > Francisco Pastor > Meteorology department, Instituto Universitario CEAM-UMH > http://www.ceam.es > ----------- > mail: paco@ceam.es > skype: paco.pastor.guzman > Researcher ID: http://www.researcherid.com/**rid/B-8331-2008<http://www.researcherid.com/rid/B-8331-2008> > Cosis profile: http://www.cosis.net/profile/**francisco.pastor<http://www.cosis.net/profile/francisco.pastor> > ----------- > Parque Tecnologico, C/ Charles R. Darwin, 14 > 46980 PATERNA (Valencia), Spain > Tlf. 96 131 82 27 - Fax. 96 131 81 90 > > > ------------------------------**------------------------------**--------- > Este mensaje y los ficheros anexos son confidenciales. Los mismos contienen > información reservada de la empresa que no puede ser difundida. Si usted ha > recibido este correo por error, tenga la amabilidad de eliminarlo de su > sistema y avisar al remitente mediante reenvío a su dirección electrónica; > no deberá copiar el mensaje ni divulgar su contenido a ninguna persona. > > Su dirección de correo electrónico junto a sus datos personales forman > parte de un fichero titularidad de la Fundación de la Comunidad Valenciana > Centro de Estudios Ambientales del Mediterráneo - CEAM, con CIF: G-46957213, > cuya finalidad es la de mantener el contacto con Ud. De acuerdo con la Ley > Orgánica 15/1999, usted puede ejercitar sus derechos de acceso, > rectificación, cancelación y, en su caso, oposición enviando una solicitud > por escrito, acompañada de una fotocopia de su DNI dirigida a: Fundación de > la Comunidad Valenciana Centro de Estudios Ambientales del Mediterráneo - > CEAM. C/ Charles R. Darwin, 14. Parque Tecnológico.46980 PATERNA (Valencia). > > This message and the attached files are confidential. They contain reserved > information belonging to our centre and are not to be broadcast. If you have > received this email by mistake, please delete it from your system and alert > the sender by returning it to his/her email address. You must not copy or > divulge the contents of the message to anyone. > > Your email address and personal data are included in a file belonging to > the Fundación de la Comunidad Valenciana Centro de Estudios Ambientales del > Mediterráneo - CEAM, con CIF: G-46957213. The purpose of this file is to > allow us to keep in contact with you. In accordance with Organic Law > 15/1999, you are permitted to access, rectify, cancel or oppose the contents > of this file by submitting a written request, accompanied by a photocopy of > your DNI, to: Fundación de la Comunidad Valenciana Centro de Estudios > Ambientales del Mediterráneo - CEAM. C/ Charles R. Darwin, 14. Parque > Tecnológico.46980 PATERNA (Valencia). > > ______________________________**_________________ > 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]]
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 ____________________________________ El 13/07/2011, a las 12:44, Paco Pastor escribió:> Hola a todos > > Estoy intentando extraer un subconjunto de datos de una serie > temporal, concretamente quiero extraer los meses de verano de > varios años pero no encuentro la manera. Los datos tienen este > formato: > > FECHA;H_SOLAR;DIR_M;DIR_S;VEL_M;VEL_S;VEL_X;U;V;TEMP_M;HR;BAT;PRECIP;R > AD;UVA;UVB;FOG;GRID; > 00/01/01;23:50:00;203.5;6.6;2.0;0.5;-99.9;-99.9;-99.9;6.0;-99.9;9.0;-9 > 9.9;-99.9;-99.9;-99.9;-99.9;-99.9 > 00/01/02;23:50:00;235.5;7.5;1.8;0.5;-99.9;-99.9;-99.9;6.1;-99.9;8.9;-9 > 9.9;-99.9;-99.9;-99.9;-99.9;-99.9 > 00/01/03;23:50:00;217.4;6.1;1.4;0.5;-99.9;-99.9;-99.9;7.0;-99.9;8.9;-9 > 9.9;-99.9;-99.9;-99.9;-99.9;-99.9 > 00/01/04;23:50:00;202.5;8.6;1.8;0.5;-99.9;-99.9;-99.9;6.4;-99.9;8.8;-9 > 9.9;-99.9;-99.9;-99.9;-99.9;-99.9 > 00/01/05;23:50:00;198.5;7.1;1.8;0.5;-99.9;-99.9;-99.9;5.4;-99.9;8.8;-9 > 9.9;-99.9;-99.9;-99.9;-99.9;-99.9 > 00/01/06;23:50:00;212.1;6.9;1.8;0.5;-99.9;-99.9;-99.9;5.5;-99.9;8.7;-9 > 9.9;-99.9;-99.9;-99.9;-99.9;-99.9 > 00/01/07;23:50:00;204.7;7.1;2.0;0.5;-99.9;-99.9;-99.9;5.4;-99.9;8.7;-9 > 9.9;-99.9;-99.9;-99.9;-99.9;-99.9 > 00/01/08;23:50:00;209.7;5.8;1.4;0.5;-99.9;-99.9;-99.9;5.3;-99.9;8.7;-9 > 9.9;-99.9;-99.9;-99.9;-99.9;-99.9 > 00/01/09;23:50:00;237.8;6.9;1.9;0.5;-99.9;-99.9;-99.9;7.3;-99.9;8.6;-9 > 9.9;-99.9;-99.9;-99.9;-99.9;-99.9 > > Lo que quiero hacer es seleccionar todos los meses de mayo a > septiembre de todos los años. He estado leyendo información del > paquete zoo pero no consigo nada. > > Gracias por vuestra ayuda. > > Paco > > -- > ----------- > Francisco Pastor > Meteorology department, Instituto Universitario CEAM-UMH > http://www.ceam.es > ----------- > mail: paco en ceam.es > skype: paco.pastor.guzman > Researcher ID: http://www.researcherid.com/rid/B-8331-2008 > Cosis profile: http://www.cosis.net/profile/francisco.pastor > ----------- > Parque Tecnologico, C/ Charles R. Darwin, 14 > 46980 PATERNA (Valencia), Spain > Tlf. 96 131 82 27 - Fax. 96 131 81 90 > > > --------------------------------------------------------------------- > Este mensaje y los ficheros anexos son confidenciales. Los mismos > contienen información reservada de la empresa que no puede ser > difundida. Si usted ha recibido este correo por error, tenga la > amabilidad de eliminarlo de su sistema y avisar al remitente > mediante reenvío a su dirección electrónica; no deberá copiar el > mensaje ni divulgar su contenido a ninguna persona. > > Su dirección de correo electrónico junto a sus datos personales > forman parte de un fichero titularidad de la Fundación de la > Comunidad Valenciana Centro de Estudios Ambientales del > Mediterráneo - CEAM, con CIF: G-46957213, cuya finalidad es la de > mantener el contacto con Ud. De acuerdo con la Ley Orgánica > 15/1999, usted puede ejercitar sus derechos de acceso, > rectificación, cancelación y, en su caso, oposición enviando una > solicitud por escrito, acompañada de una fotocopia de su DNI > dirigida a: Fundación de la Comunidad Valenciana Centro de Estudios > Ambientales del Mediterráneo - CEAM. C/ Charles R. Darwin, 14. > Parque Tecnológico.46980 PATERNA (Valencia). > > This message and the attached files are confidential. They contain > reserved information belonging to our centre and are not to be > broadcast. If you have received this email by mistake, please > delete it from your system and alert the sender by returning it to > his/her email address. You must not copy or divulge the contents of > the message to anyone. > > Your email address and personal data are included in a file > belonging to the Fundación de la Comunidad Valenciana Centro de > Estudios Ambientales del Mediterráneo - CEAM, con CIF: G-46957213. > The purpose of this file is to allow us to keep in contact with > you. In accordance with Organic Law 15/1999, you are permitted to > access, rectify, cancel or oppose the contents of this file by > submitting a written request, accompanied by a photocopy of your > DNI, to: Fundación de la Comunidad Valenciana Centro de Estudios > Ambientales del Mediterráneo - CEAM. C/ Charles R. Darwin, 14. > Parque Tecnológico.46980 PATERNA (Valencia). > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es
Hola, El código de lo que he comentado aplicado sobre un data.frame ampliado: FECHA H_SOLAR DIR_M DIR_S VEL_M VEL_S VEL_X U V TEMP_M HR BAT PRECIP RAD UVA UVB FOG GRID 00/01/01 23:50:00 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 00/01/02 23:50:00 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 00/01/03 23:50:00 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 00/01/04 23:50:00 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 00/01/05 23:50:00 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 00/01/06 23:50:00 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 00/01/07 23:50:00 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 00/01/08 23:50:00 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 00/01/09 23:50:00 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 00/01/09 23:50:00 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 00/01/09 23:50:00 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 00/02/09 23:50:00 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 00/03/09 23:50:00 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 00/04/09 23:50:00 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 00/05/09 23:50:00 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 00/06/09 23:50:00 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 00/06/09 23:50:00 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 01/06/09 23:50:00 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 02/07/09 23:50:00 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 03/09/09 23:50:00 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 library(lubridate) f.dat<-parse_date(dat.df$FECHA, c("%y", "%m", "%d"), seps="/") dat.df$m.dat<-month(f.dat, label=F, abbr=F) # Selección de cualquier fecha entre los meses 6, 7 y 8 dat.gd<-dat.df[dat.df$m.dat>5 & dat.df$m.dat<9,] > dat.gd FECHA H_SOLAR DIR_M DIR_S VEL_M VEL_S VEL_X U V TEMP_M HR BAT PRECIP RAD UVA UVB FOG GRID m.dat 16 00/06/09 23:50:00 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 6 17 00/06/09 23:50:00 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 6 18 01/06/09 23:50:00 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 6 19 02/07/09 23:50:00 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 7 > Saludos, Carlos Ortega www.qualityexcellence.es 2011/7/13 Carlos Ortega <coforfe@gmail.com>> Hola, > > Sobre el data.frame que expones en tu correo puedes añadir una columna > adicional en la que captures el mes y una vez tengas el mes haces una > selección de forma que el valor de esa columna sea 6,7 u 8. > > Para crear esa columna nueva te sugiero que utilices el paquete > "lubridate", aunque bueno también con el paquete "chron" lo puedes hacer > igualmente. > > Y en cuanto a el código para extraer los meses de verano sobre esa nueva > columna puedes utilizar varias formas: bien directamente sobre el > data.frame, con la función "which"... > > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > 2011/7/13 Paco Pastor <paco@ceam.es> > >> Hola a todos >> >> Estoy intentando extraer un subconjunto de datos de una serie temporal, >> concretamente quiero extraer los meses de verano de varios años pero no >> encuentro la manera. Los datos tienen este formato: >> >> FECHA;H_SOLAR;DIR_M;DIR_S;VEL_**M;VEL_S;VEL_X;U;V;TEMP_M;HR;** >> BAT;PRECIP;RAD;UVA;UVB;FOG;**GRID; >> 00/01/01;23:50:00;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 >> 00/01/02;23:50:00;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 >> 00/01/03;23:50:00;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 >> 00/01/04;23:50:00;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 >> 00/01/05;23:50:00;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 >> 00/01/06;23:50:00;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 >> 00/01/07;23:50:00;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 >> 00/01/08;23:50:00;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 >> 00/01/09;23:50:00;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 >> >> Lo que quiero hacer es seleccionar todos los meses de mayo a septiembre de >> todos los años. He estado leyendo información del paquete zoo pero no >> consigo nada. >> >> Gracias por vuestra ayuda. >> >> Paco >> >> -- >> ----------- >> Francisco Pastor >> Meteorology department, Instituto Universitario CEAM-UMH >> http://www.ceam.es >> ----------- >> mail: paco@ceam.es >> skype: paco.pastor.guzman >> Researcher ID: http://www.researcherid.com/**rid/B-8331-2008<http://www.researcherid.com/rid/B-8331-2008> >> Cosis profile: http://www.cosis.net/profile/**francisco.pastor<http://www.cosis.net/profile/francisco.pastor> >> ----------- >> Parque Tecnologico, C/ Charles R. Darwin, 14 >> 46980 PATERNA (Valencia), Spain >> Tlf. 96 131 82 27 - Fax. 96 131 81 90 >> >> >> ------------------------------**------------------------------**--------- >> Este mensaje y los ficheros anexos son confidenciales. Los mismos >> contienen información reservada de la empresa que no puede ser difundida. Si >> usted ha recibido este correo por error, tenga la amabilidad de eliminarlo >> de su sistema y avisar al remitente mediante reenvío a su dirección >> electrónica; no deberá copiar el mensaje ni divulgar su contenido a ninguna >> persona. >> >> Su dirección de correo electrónico junto a sus datos personales forman >> parte de un fichero titularidad de la Fundación de la Comunidad Valenciana >> Centro de Estudios Ambientales del Mediterráneo - CEAM, con CIF: G-46957213, >> cuya finalidad es la de mantener el contacto con Ud. De acuerdo con la Ley >> Orgánica 15/1999, usted puede ejercitar sus derechos de acceso, >> rectificación, cancelación y, en su caso, oposición enviando una solicitud >> por escrito, acompañada de una fotocopia de su DNI dirigida a: Fundación de >> la Comunidad Valenciana Centro de Estudios Ambientales del Mediterráneo - >> CEAM. C/ Charles R. Darwin, 14. Parque Tecnológico.46980 PATERNA (Valencia). >> >> This message and the attached files are confidential. They contain >> reserved information belonging to our centre and are not to be broadcast. If >> you have received this email by mistake, please delete it from your system >> and alert the sender by returning it to his/her email address. You must not >> copy or divulge the contents of the message to anyone. >> >> Your email address and personal data are included in a file belonging to >> the Fundación de la Comunidad Valenciana Centro de Estudios Ambientales del >> Mediterráneo - CEAM, con CIF: G-46957213. The purpose of this file is to >> allow us to keep in contact with you. In accordance with Organic Law >> 15/1999, you are permitted to access, rectify, cancel or oppose the contents >> of this file by submitting a written request, accompanied by a photocopy of >> your DNI, to: Fundación de la Comunidad Valenciana Centro de Estudios >> Ambientales del Mediterráneo - CEAM. C/ Charles R. Darwin, 14. Parque >> Tecnológico.46980 PATERNA (Valencia). >> >> ______________________________**_________________ >> 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 Carlos y muchas gracias. Disculpa la duplicidad de mensajes pero no había puesto copia a la lista. Tu código ha funcionado perfectamente. Pongo el código completo que he utilizado por si le sirve a alguien library(lubridate) data=read.csv("peira.dat",sep=";",header=T,na.strings="-99.9") f.dat<-parse_date(data$FECHA, c("%y", "%m", "%d"), seps="/") data$m.dat<-month(f.dat, label=F, abbr=F) # Selección de cualquier fecha entre los meses 6, 7 y 8 dat.gd<-data[data$m.dat>5 & data$m.dat<9,] # Creación objeto zoo dia=as.Date(dat.gd[,1],"%y/%m/%d") dataz=zoo(dat.gd[,c("PRECIP")],dia) Así se obtiene una serie temporal solamente para los meses de junio y agosto de todos los años de la serie de datos. Gracias El 13/07/2011 14:23, Carlos Ortega escribió:> Hola, > > El código de lo que he comentado aplicado sobre un data.frame ampliado: > > FECHA H_SOLAR DIR_M DIR_S VEL_M VEL_S VEL_X U V TEMP_M HR BAT PRECIP > RAD UVA UVB FOG GRID > 00/01/01 23:50:00 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 > 00/01/02 23:50:00 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 > 00/01/03 23:50:00 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 > 00/01/04 23:50:00 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 > 00/01/05 23:50:00 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 > 00/01/06 23:50:00 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 > 00/01/07 23:50:00 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 > 00/01/08 23:50:00 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 > 00/01/09 23:50:00 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 > 00/01/09 23:50:00 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 > 00/01/09 23:50:00 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 > 00/02/09 23:50:00 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 > 00/03/09 23:50:00 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 > 00/04/09 23:50:00 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 > 00/05/09 23:50:00 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 > 00/06/09 23:50:00 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 > 00/06/09 23:50:00 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 > 01/06/09 23:50:00 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 > 02/07/09 23:50:00 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 > 03/09/09 23:50:00 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 > > > library(lubridate) > f.dat<-parse_date(dat.df$FECHA, c("%y", "%m", "%d"), seps="/") > dat.df$m.dat<-month(f.dat, label=F, abbr=F) > # Selección de cualquier fecha entre los meses 6, 7 y 8 > dat.gd <http://dat.gd><-dat.df[dat.df$m.dat>5 & dat.df$m.dat<9,] > > > > dat.gd <http://dat.gd> > FECHA H_SOLAR DIR_M DIR_S VEL_M VEL_S VEL_X U V TEMP_M HR BAT PRECIP RAD UVA UVB FOG GRID m.dat > 16 00/06/09 23:50:00 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 6 > 17 00/06/09 23:50:00 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 6 > 18 01/06/09 23:50:00 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 6 > 19 02/07/09 23:50:00 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 7 > > > > > > > > Saludos, > Carlos Ortega > www.qualityexcellence.es <http://www.qualityexcellence.es> > > > 2011/7/13 Carlos Ortega <coforfe@gmail.com <mailto:coforfe@gmail.com>> > > Hola, > > Sobre el data.frame que expones en tu correo puedes añadir una > columna adicional en la que captures el mes y una vez tengas el > mes haces una selección de forma que el valor de esa columna sea > 6,7 u 8. > > Para crear esa columna nueva te sugiero que utilices el paquete > "lubridate", aunque bueno también con el paquete "chron" lo puedes > hacer igualmente. > > Y en cuanto a el código para extraer los meses de verano sobre esa > nueva columna puedes utilizar varias formas: bien directamente > sobre el data.frame, con la función "which"... > > > Saludos, > Carlos Ortega > www.qualityexcellence.es <http://www.qualityexcellence.es> > > >-- ----------- Francisco Pastor Meteorology department, Instituto Universitario CEAM-UMH http://www.ceam.es ----------- mail: paco@ceam.es skype: paco.pastor.guzman Researcher ID: http://www.researcherid.com/rid/B-8331-2008 Cosis profile: http://www.cosis.net/profile/francisco.pastor ----------- Parque Tecnologico, C/ Charles R. Darwin, 14 46980 PATERNA (Valencia), Spain Tlf. 96 131 82 27 - Fax. 96 131 81 90 --------------------------------------------------------------------- Este mensaje y los ficheros anexos son confidenciales. Los mismos contienen información reservada de la empresa que no puede ser difundida. Si usted ha recibido este correo por error, tenga la amabilidad de eliminarlo de su sistema y avisar al remitente mediante reenvío a su dirección electrónica; no deberá copiar el mensaje ni divulgar su contenido a ninguna persona. Su dirección de correo electrónico junto a sus datos personales forman parte de un fichero titularidad de la Fundación de la Comunidad Valenciana Centro de Estudios Ambientales del Mediterráneo - CEAM, con CIF: G-46957213, cuya finalidad es la de mantener el contacto con Ud. De acuerdo con la Ley Orgánica 15/1999, usted puede ejercitar sus derechos de acceso, rectificación, cancelación y, en su caso, oposición enviando una solicitud por escrito, acompañada de una fotocopia de su DNI dirigida a: Fundación de la Comunidad Valenciana Centro de Estudios Ambientales del Mediterráneo - CEAM. C/ Charles R. Darwin, 14. Parque Tecnológico.46980 PATERNA (Valencia). This message and the attached files are confidential. They contain reserved information belonging to our centre and are not to be broadcast. If you have received this email by mistake, please delete it from your system and alert the sender by returning it to his/her email address. You must not copy or divulge the contents of the message to anyone. Your email address and personal data are included in a file belonging to the Fundación de la Comunidad Valenciana Centro de Estudios Ambientales del Mediterráneo - CEAM, con CIF: G-46957213. The purpose of this file is to allow us to keep in contact with you. In accordance with Organic Law 15/1999, you are permitted to access, rectify, cancel or oppose the contents of this file by submitting a written request, accompanied by a photocopy of your DNI, to: Fundación de la Comunidad Valenciana Centro de Estudios Ambientales del Mediterráneo - CEAM. C/ Charles R. Darwin, 14. Parque Tecnológico.46980 PATERNA (Valencia). [[alternative HTML version deleted]]
Oscar Perpiñan Lamigueiro
2011-Jul-13 14:51 UTC
[R-es] Extraer datos mensuales de una serie temporal
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 > > ____________________________________ > > >
Oscar Perpiñan Lamigueiro
2011-Jul-13 14:57 UTC
[R-es] Extraer datos mensuales de una serie temporal
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
Gracias Oscar, tu solución funciona perfectamente y además responde a algo que me faltaba ya que además de los datos diarios también los tengo diezminutales y necesitaré tener en cuenta la hora. Adjunto otra solución que he recibido del foro http://stats.stackexchange.com/questions/12980/subset-data-by-month-in-r data=read.csv("peira.dat",sep=";",header=T,na.strings="-99.9") dia=as.Date(data[,1],"%y/%m/%d") xdata=xts(data[,c("PRECIP")],dia) mdat=xdata[.indexmon(xdata) %in% c(5,6,7)] El 13/07/2011 16:51, Oscar Perpiñan Lamigueiro 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 > >-- ----------- Francisco Pastor Meteorology department, Instituto Universitario CEAM-UMH http://www.ceam.es ----------- mail: paco en ceam.es skype: paco.pastor.guzman Researcher ID: http://www.researcherid.com/rid/B-8331-2008 Cosis profile: http://www.cosis.net/profile/francisco.pastor ----------- Parque Tecnologico, C/ Charles R. Darwin, 14 46980 PATERNA (Valencia), Spain Tlf. 96 131 82 27 - Fax. 96 131 81 90 --------------------------------------------------------------------- Este mensaje y los ficheros anexos son confidenciales. Los mismos contienen información reservada de la empresa que no puede ser difundida. Si usted ha recibido este correo por error, tenga la amabilidad de eliminarlo de su sistema y avisar al remitente mediante reenvío a su dirección electrónica; no deberá copiar el mensaje ni divulgar su contenido a ninguna persona. Su dirección de correo electrónico junto a sus datos personales forman parte de un fichero titularidad de la Fundación de la Comunidad Valenciana Centro de Estudios Ambientales del Mediterráneo - CEAM, con CIF: G-46957213, cuya finalidad es la de mantener el contacto con Ud. De acuerdo con la Ley Orgánica 15/1999, usted puede ejercitar sus derechos de acceso, rectificación, cancelación y, en su caso, oposición enviando una solicitud por escrito, acompañada de una fotocopia de su DNI dirigida a: Fundación de la Comunidad Valenciana Centro de Estudios Ambientales del Mediterráneo - CEAM. C/ Charles R. Darwin, 14. Parque Tecnológico.46980 PATERNA (Valencia). This message and the attached files are confidential. They contain reserved information belonging to our centre and are not to be broadcast. If you have received this email by mistake, please delete it from your system and alert the sender by returning it to his/her email address. You must not copy or divulge the contents of the message to anyone. Your email address and personal data are included in a file belonging to the Fundación de la Comunidad Valenciana Centro de Estudios Ambientales del Mediterráneo - CEAM, con CIF: G-46957213. The purpose of this file is to allow us to keep in contact with you. In accordance with Organic Law 15/1999, you are permitted to access, rectify, cancel or oppose the contents of this file by submitting a written request, accompanied by a photocopy of your DNI, to: Fundación de la Comunidad Valenciana Centro de Estudios Ambientales del Mediterráneo - CEAM. C/ Charles R. Darwin, 14. Parque Tecnológico.46980 PATERNA (Valencia).