Hola, Esta es una forma:
#--------------------------- df <- data.frame( x = c(1:10, NA, NA, 11:20), y = c(letters[1:10], NA, NA, letters[11:20] ) ) df first_bad <- which(is.na(df), arr.ind = TRUE)[1,1] sub_df <- df[1:(first_bad - 1), ] #--------------------------- En este ejemplo, ya se parte de la eliminación de las 20 primeras líneas. Por tanto el bloque segundo, es el que aparece entre la primera línea y la primera línea en la que aparecen los NAs (fila 11). Detecto que la fila 11 es la que tiene los NAs (el resultado está en "first_bad"). Y teniendo esto, selecciono un subconjunto del "df" (donde estaba todo, bloque dos y el tres), entre la primera fila y "first_bad". Saludos, Carlos Ortega www.qualityexcellence.es El 28 de julio de 2016, 18:07, Joan Giménez Verdugo <joan.gime...@csic.es> escribió: > Muchas gracias Carlos, > > la lógica es perfecta pero no se como identificar con código las lineas en > blanco entre el bloque 2 y el bloque 3. Para de esta forma quedarme solo > con el bloque 2. > > Tienes alguna idea? > > Muchas gracias. > > Joan > > 2016-07-28 17:00 GMT+02:00 Carlos Ortega <c...@qualityexcellence.es>: > >> Hola, >> >> Se me ocurre esta solución en pseudo-código...: >> >> >> 1. Coges el primer fichero para procesar. >> 2. Con read.table indicas que salte esas primeras 20 líneas. Hay un >> parámetro que permite hacer esto (skip). >> 3. Cargas todo el fichero restante. >> 4. Identificas el data.frame donde están esas líneas en blanco que >> separan el segundo del tercer bloque. >> 5. Borras todo lo que está por debajo de esas líneas, quedándote ya >> con el bloque dos. >> 6. Guardo en un data.frame temporal el bloque dos. >> 7. Vuelvo al principio cogiendo otro fichero y aplicando la misma >> lógica y al llegar al punto 6 añado al data.frame temporal el nuevo >> segundo >> bloque. >> >> Si trabajas sobre Linux/Mac puedes hacer todo esto en una shell, con algo >> como "awk". Saltas las primeras 20 líneas en blanco, lees las líneas >> siguientes del fichero hasta que te encuentras una línea en blanco, donde >> paras el bucle y guardas en un fichero el bloque dos. Vuelves a iterar en >> el bucle y al encontrar nuevamente la línea en blanco, salvas (añadiendo) >> las líneas en el fichero anterior. >> >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >> >> >> El 28 de julio de 2016, 13:53, Joan Giménez Verdugo <joan.gime...@csic.es >> > escribió: >> >>> Hola a todos, >>> >>> tengo 170 .csv donde tengo que eliminar las primeras 20 lineas (primer >>> bloque) y luego todo un último bloque de datos (tercer bloque) que está >>> separado por dos filas sin datos del segundo bloque (que es el que me >>> interesa). El tercer bloque empieza en cada .csv en una linea diferente >>> por >>> lo tanto no se si puedo automatizar en R quedarme tan solo con la >>> información a partir de la linea 21 y luego solo hasta la siguiente linea >>> en blanco que es donde empieza el tercer bloque (que será diferente en >>> cada >>> .csv). >>> >>> Muchas gracias de antemano. >>> >>> Joan >>> >>> -- >>> *Joan Giménez Verdugo* >>> *PhD Student* *Severo Ochoa* >>> Estación Biológica de Doñana (EBD-CSIC) >>> Department of Conservation Biology >>> Americo Vespucio Ave, s/n >>> 41092 Sevilla (Spain) >>> www.ebd.csic.es >>> --- >>> Research Gate: Joan Giménez >>> <https://www.researchgate.net/profile/Joan_Gimenez2> >>> Phone: +34 619 176 849 >>> ü Please consider the environment before printing this E-mail >>> >>> [[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 >> > > > > -- > *Joan Giménez Verdugo* > *PhD Student* *Severo Ochoa* > Estación Biológica de Doñana (EBD-CSIC) > Department of Conservation Biology > Americo Vespucio Ave, s/n > 41092 Sevilla (Spain) > www.ebd.csic.es > --- > Research Gate: Joan Giménez > <https://www.researchgate.net/profile/Joan_Gimenez2> > Phone: +34 619 176 849 > ü Please consider the environment before printing this E-mail > > > -- Saludos, Carlos Ortega www.qualityexcellence.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