Estimado Carlos, muchas gracias por tus dos sugerencias. Algo asi es lo que 
estaba buscando para no tener que salir de R. Ademas genial que fread produzca 
un data.table pues el codigo esta hecho usando esa libreria.

Muchas gracias de nuevo,

Eric.




On 05/18/2016 03:47 PM, Carlos Ortega wrote:
Hola,

Además de la solución de modificar el fichero antes de procesarlo en R
usando comando Unix/Linux del sistema, puedes probar a hacerlo todo en
"R" con otras funciones de lectura de otros paquetes.

Mira este ejemplo:

En un fichero "Myfile.txt" tengo las siguientes líneas con algunas
"trampas":

#---------------
DeployID Date.Time LocationQuality Latitude Longitude
STM05-1        2005/02/28 17:35 Good -35.562 177.158
STM05-1   2005/02/28 19:44 Good -35.487 177.129
STM05-1 2005/02/28 23:01 Unknown -35.399 177.064
STM05-1 2005/03/01               07:28 Unknown -34.978 177.268
STM05-1 2005/03/01 18:06 Poor -34.799 177.027
STM05-1 2005/03/01 18:47 Poor -34.85 177.059
STM05-2 2005/02/28 12:49 Good -35.928 177.328
STM05-2 2005/02/28 21:23 Poor -35.926 177.314
#---------------

  * En la segunda línea entre SMT05-1 y 2005... hay varios espacios y
    varios tabuladores.
  * En la tercera línea entre STM05-1 y 2005, hay dos tabuladores
  * En la quinta línea entre la fecha y 07:28 hay dos/tres tabuladores...


Mira lo que son capaces de hacer estas funciones:

 > library(data.table)
 > fread("Myfile.txt")
         V1         V2    V3      V4      V5      V6
1: STM05-1 2005/02/28 17:35    Good -35.562 177.158
2: STM05-1 2005/02/28 19:44    Good -35.487 177.129
3: STM05-1 2005/02/28 23:01 Unknown -35.399 177.064
4: STM05-1 2005/03/01 07:28 Unknown -34.978 177.268
5: STM05-1 2005/03/01 18:06    Poor -34.799 177.027
6: STM05-1 2005/03/01 18:47    Poor -34.850 177.059
7: STM05-2 2005/02/28 12:49    Good -35.928 177.328
8: STM05-2 2005/02/28 21:23    Poor -35.926 177.314
Warning message:
In fread("Myfile.txt") :
   Starting data input on line 2 and discarding line 1 because it has
too few or too many items to be column names or data: DeployID Date.Time
LocationQuality Latitude Longitude

 > library(readr)
 > read_table("Myfile.txt")
    DeployID Date.Time LocationQuality Latitude Longitude
1   STM05-1        2005/02/28 17:35 Good -35.562 177.158
2        STM05-1   2005/02/28 19:44 Good -35.487 177.129
3       STM05-1 2005/02/28 23:01 Unknown -35.399 177.064
4 STM05-1 2005/03/01               07:28 Unknown -34.978
5          STM05-1 2005/03/01 18:06 Poor -34.799 177.027
6           STM05-1 2005/03/01 18:47 Poor -34.85 177.059
7          STM05-2 2005/02/28 12:49 Good -35.928 177.328
8          STM05-2 2005/02/28 21:23 Poor -35.926 177.314


La función "fread()" del paquete data.table avisa de un posible error
con la cabecera, pero ignora todas las trampas que hemos puesto y crea
las columnas donde corresponde. Y como cabecera pone directamente "V1",
"V2",....
Mientras que "read_table" ni avisa, e incluye la cabecera y las líneas
con las trampas.

La solución "fread()" puede servirte tal cual. Mientras que read_table
podría ayudarte pero exigiría que luego la salida como data.frame la
post-procesaras...

Cuidado con "fread()" que la salida es un data.table y data.frame.
Mi consejo sería que a la salida de fread() la convirtieras a un
data.frame puro con "as.data.frame()" para no tener problemas. Salvo que
el resto de tu código lo quieras hacer con la sintaxis de data.table.

Gracias,
Carlos Ortega
www.qualityexcellence.es <http://www.qualityexcellence.es>



El 18 de mayo de 2016, 10:02, eric <ericconchamu...@gmail.com
<mailto:ericconchamu...@gmail.com>> escribió:

    Muchas gracias Javier ... cuando hay un doble \teb\teb desaparece la
    fila completa al importar el archivo a un data.frame, por eso queria
    modificarlo antes de importar el archivo, o pensaba que quiza habia
    una funcion robusta para importar, que no fuera afectada por el
    doble tab

    muchas gracias por su sugerencia,

    Saludos, Eric.






    On 05/17/2016 11:19 PM, Javier Marcuzzi wrote:

        Estimado Eric

        Las filas que faltan, ¿son filas enteras, donde todo es valor NA
        o “” en un data.frame?

        Porque si es así podrías importar todo y luego buscar (filtrar)
        los que no son NA.

        Copio y pego un código que utilizo en un trabajo, posiblemente
        le sea útil.

        Tratamientos$Tratamiento[Tratamientos$Tratamiento == ""] <- NA
        # asignar NA a las celdas vacías
        Tratamientos<- Tratamientos[ !is.na
        <http://is.na>(Tratamientos$Tratamiento),]    #Solo dejo filas
        en las que las tratamiento son diferentes de cero

        Javier Rubén Marcuzzi

        De: ja palazon
        Enviado: martes, 17 de mayo de 2016 18:06
        Para: r-help-es@r-project.org <mailto:r-help-es@r-project.org>
        Asunto: Re: [R-es] buscar y reemplazar tabs dentro de un archivo

        Usa la función system para desde R usar las herramientas del
        sistema.

        On 17/05/16 16:13, eric wrote:

            Hola Jose, muchas gracias por la sugerencia, no conocia la
            existencia
            de "sed" ... yo preguntaba por la posibilidad de hacerlo con
            R mismo
            para no tener que escribir algo en otro lenguaje, porque te
            refieres a
            "sed" en linux, no ? y tambien por lo mucho mejor que es un
            script que
            hacerlo a mano, considerando que son varios cientos de
            archivos ...
            voy a probar con un script de bash a ver si me funciona.

            Muchas gracias a todos,

            Saludos, Eric.










            On 05/15/2016 11:57 AM, JA Palazón wrote:

                Hola

                Lo más sencillo es utilizar sed, desde la línea de comandos:

                sed 's/^I^I/^I/g' ficheroOriginal.dat >ficheroCorregido.dat

                Alternativa: usa la hoja de cálculo de libre office te da
                la opción de eliminar repeticiones de separador de campos.

                Espero que te sirva

                El 14/05/16 a las 18:58, eric escribió:

                    Estimados, tengo el siguiente problema:

                    tengo muchos archivos (algunos cientos) con columnas
                    de datos
                    separados por \tab y al importar en R me di cuenta
                    que me faltaban
                    algunas filas ... despues de 3 dias dandole vueltas
                    al problema
                    encontre que las filas que faltaban tenian un doble
                    \tab en alguna
                    columna

                    Luego la pregunta es:

                    existe alguna forma de importar los archivos de modo
                    que el doble \tab
                    no produzca errores o

                    existe alguna forma de "abrir" los archivos sin
                    importarlos en R (pero
                    con R), buscar y reemplazar ese doble \tab para
                    luego importar

                    Saludos y muchas gracias,

                    Eric,







        _______________________________________________
        R-help-es mailing list
        R-help-es@r-project.org <mailto:R-help-es@r-project.org>
        https://stat.ethz.ch/mailman/listinfo/r-help-es


                 [[alternative HTML version deleted]]

        _______________________________________________
        R-help-es mailing list
        R-help-es@r-project.org <mailto:R-help-es@r-project.org>
        https://stat.ethz.ch/mailman/listinfo/r-help-es


    --
    Forest Engineer
    Master in Environmental and Natural Resource Economics
    Ph.D. student in Sciences of Natural Resources at La Frontera University
    Member in AguaDeTemu2030, citizen movement for Temuco with green
    city standards for living

    Nota: Las tildes se han omitido para asegurar compatibilidad con
    algunos lectores de correo.

    _______________________________________________
    R-help-es mailing list
    R-help-es@r-project.org <mailto:R-help-es@r-project.org>
    https://stat.ethz.ch/mailman/listinfo/r-help-es




--
Saludos,
Carlos Ortega
www.qualityexcellence.es <http://www.qualityexcellence.es>

--
Forest Engineer
Master in Environmental and Natural Resource Economics
Ph.D. student in Sciences of Natural Resources at La Frontera University
Member in AguaDeTemu2030, citizen movement for Temuco with green city standards 
for living

Nota: Las tildes se han omitido para asegurar compatibilidad con algunos 
lectores de correo.

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a