Miguel Astor Varela
2012-Jan-28 20:33 UTC
[R-es] Leer ficheros csv muy grandes (más de un 1 Giga)
Hola, Estoy intentando leer ficheros csv bastante grandes (más un 1 Giga). Hasta ahora con archivos más pequeños siempre he utilizado la función read.csv y me ha funcionado bastante bien, pero a partir de ese tamaño el R se me queda bloqueado. Además, el ordenador que tengo no es nada potente. He probado con la función scan pero tengo un problema. Los ficheros csv son campos numéricos con decimales salvo un campo que es una letra. Alguien me podría recomendar alguna otra función para leer esos ficheros? Muchas gracias [[alternative HTML version deleted]]
Marcuzzi, Javier Rubén
2012-Jan-28 20:49 UTC
[R-es] Leer ficheros csv muy grandes (más de un 1 Giga)
Miguel ¿Cuántos gigas de ram tiene disponible? Si usted utiliza una archivo mayor a 1 Gb, ¿cuántos Gb son requeridos por R? Pero debe haber alguna alternativa, en este lugar http://cran.r-project.org/web/views/HighPerformanceComputing.html señalan posibilidades, pero escapa a mi experiencia. Javier -----Mensaje original----- From: Miguel Astor Varela Sent: Saturday, January 28, 2012 5:33 PM To: r-help-es en r-project.org Subject: [R-es] Leer ficheros csv muy grandes (más de un 1 Giga) Hola, Estoy intentando leer ficheros csv bastante grandes (más un 1 Giga). Hasta ahora con archivos más pequeños siempre he utilizado la función read.csv y me ha funcionado bastante bien, pero a partir de ese tamaño el R se me queda bloqueado. Además, el ordenador que tengo no es nada potente. He probado con la función scan pero tengo un problema. Los ficheros csv son campos numéricos con decimales salvo un campo que es una letra. Alguien me podría recomendar alguna otra función para leer esos ficheros? Muchas gracias [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Esteban Moro Egido
2012-Jan-28 20:56 UTC
[R-es] Leer ficheros csv muy grandes (más de un 1 Giga)
Hola Miguel Desde luego depende de la memoria que tengas en la máquina. Aún así lo que preguntas creo que se puede hacer utilizando "what" en scan. datos <- scan("fichero.dat",what=list(" "," ",0)) La idea es la siguiente: la lista que va en el what da una descripción de cómo son las columnas que tienes. Pon un " " por cada columna alfanumérica y un 0 por una columna numérica. En el ejemplo anterior tendrías 2 columnas alfanumérica y una numérica. Un saludo El 28/01/2012, a las 21:33, Miguel Astor Varela escribió:> Hola, > Estoy intentando leer ficheros csv bastante grandes (más un 1 Giga). Hasta > ahora con archivos más pequeños siempre he utilizado la función read.csv y > me ha funcionado bastante bien, pero a partir de ese tamaño el R se me > queda bloqueado. Además, el ordenador que tengo no es nada potente. > > He probado con la función scan pero tengo un problema. Los ficheros csv son > campos numéricos con decimales salvo un campo que es una letra. > > Alguien me podría recomendar alguna otra función para leer esos ficheros? > Muchas gracias > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-esEsteban Moro Egido Dept. Mathematics | Universidad Carlos III de Madrid Tel.: (+34) 916248727 · markov.uc3m.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20120128/be12a627/attachment.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: 4225769.PNG Type: image/png Size: 2068 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20120128/be12a627/attachment.png>
Carlos Ortega
2012-Jan-28 22:26 UTC
[R-es] Leer ficheros csv muy grandes (más de un 1 Giga)
Hola Miguel, Efectivamente la memoria RAM que tengas en tu equipo es un limitante para la carga del fichero. Pero hay alternativas: - ¿Necesitas todas las columnas del fichero? ¿Puedes pre-seleccionar algunas antes de leerlo en R y así reducir su tamaño? - Recientemente se ha liberado un paquete en R que está pensado justamente para lo que buscas: "LaF". ########################### Fast access to large ASCII filesDescription The package provides methods for fast and efficient access of large ASCII files (fixed width and csv files). It is assumed that the files are too large to be read into memory completely. The package therefore contains methods for blockwise processing of these files and methods for reading subsets of data (rows and/or columns) from these files. ########################### Saludos, Carlos Ortega www.qualityexcellence.es El 28 de enero de 2012 21:33, Miguel Astor Varela <mastorvarela@gmail.com>escribió:> Hola, > Estoy intentando leer ficheros csv bastante grandes (más un 1 Giga). Hasta > ahora con archivos más pequeños siempre he utilizado la función read.csv y > me ha funcionado bastante bien, pero a partir de ese tamaño el R se me > queda bloqueado. Además, el ordenador que tengo no es nada potente. > > He probado con la función scan pero tengo un problema. Los ficheros csv son > campos numéricos con decimales salvo un campo que es una letra. > > Alguien me podría recomendar alguna otra función para leer esos ficheros? > Muchas gracias > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Jorge I Velez
2012-Jan-29 08:03 UTC
[R-es] Leer ficheros csv muy grandes (más de un 1 Giga)
Hola Miguel, Como otros ya han mencionado, scan() es una muy buena opcion, asi como la funcion read.csv() con su argumento colClasses definido de manera adecuada. Desafortunadamente, la memoria RAM y la arquitectura del sistema operativo (32- vs. 64-bits) tambien juegan un papel importante. Por cierto, que OS estas utilizando? es de 32- o 64-bits? cuanta memoria RAM tienes disponible? Si estas en 32 bits hay ciertos limites para la cantidad de RAM que puedes usar (ver [1]) Hace algun tiempo tuve un problema similar (ver [2]). La solucion en ese entonces fue cambiarme a Linux para procesar el archivo y luego volver a XP para continuar con los analisis. Espero que las respuestas que alli aparecen, en conjunto con la sugerencia de Carlos Ortega de utilizar LaF, ayuden a solucionar tu problema. Un saludo, Jorge.- [1] http://cran.r-project.org/bin/windows/rw-FAQ.html#There-seems-to-be-a-limit-on-the-memory-it-uses_0021 [2] http://r.789695.n4.nabble.com/How-to-read-HUGE-data-sets-td850278.html 2012/1/28 Miguel Astor Varela <>> Hola, > Estoy intentando leer ficheros csv bastante grandes (más un 1 Giga). Hasta > ahora con archivos más pequeños siempre he utilizado la función read.csv y > me ha funcionado bastante bien, pero a partir de ese tamaño el R se me > queda bloqueado. Además, el ordenador que tengo no es nada potente. > > He probado con la función scan pero tengo un problema. Los ficheros csv son > campos numéricos con decimales salvo un campo que es una letra. > > Alguien me podría recomendar alguna otra función para leer esos ficheros? > Muchas gracias > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Pedro Concejero Cerezo
2012-Jan-30 09:53 UTC
[R-es] Leer ficheros csv muy grandes (más de un 1 Giga)
Hola, recientemente yo tuve un problema similar, que colapsaba la memoria de mi máquina (16GB RAM) y probé bigmemory, que tiene una función read.big.matrix, que leyó el fichero sin ningún problema y a velocidad récord. La limitación es que el objeto generado es una big.matrix, con tipos de variables como en C, y requiere de funciones biganalytics para hacer cálculos y manipulaciones sobre ellas. Pero de verdad, probadlo, yo probé bigKmeans y me sorprendió sobre todo la velocidad. Además hay librerías para modelos lineales y no lineales, y para manipulaciones básicas de ficheros. Saludos, Pedro El 2012-01-29 9:03, r-help-es-request@r-project.org<mailto:r-help-es-request@r-project.org> escribió: ---------------------------------------------------------------------- Message: 1 Date: Sat, 28 Jan 2012 21:33:12 +0100 From: Miguel Astor Varela <mastorvarela@gmail.com><mailto:mastorvarela@gmail.com> To: r-help-es@r-project.org<mailto:r-help-es@r-project.org> Subject: [R-es] Leer ficheros csv muy grandes (más de un 1 Giga) Message-ID: <CACk-0rKWnaCHSBM+WF-8adQqjTbJFsaMGCfH6zoEpY=cYp8-vw@mail.gmail.com><mailto:CACk-0rKWnaCHSBM+WF-8adQqjTbJFsaMGCfH6zoEpY=cYp8-vw@mail.gmail.com> Content-Type: text/plain Hola, Estoy intentando leer ficheros csv bastante grandes (más un 1 Giga). Hasta ahora con archivos más pequeños siempre he utilizado la función read.csv y me ha funcionado bastante bien, pero a partir de ese tamaño el R se me queda bloqueado. Además, el ordenador que tengo no es nada potente. He probado con la función scan pero tengo un problema. Los ficheros csv son campos numéricos con decimales salvo un campo que es una letra. Alguien me podría recomendar alguna otra función para leer esos ficheros? Muchas gracias [[alternative HTML version deleted]] -- Pedro Concejero Telefónica I+D <http://www.tid.es/> User Modeling - Analytics E-mail: pedro.concejero@tid.es<mailto:pedro.concejero@tid.es> skype: pedro.concejero linkedin http://www.linkedin.com/in/pedroconcejero/es ________________________________ Este mensaje se dirige exclusivamente a su destinatario. Puede consultar nuestra política de envío y recepción de correo electrónico en el enlace situado más abajo. This message is intended exclusively for its addressee. We only send and receive email on the basis of the terms set out at http://www.tid.es/ES/PAGINAS/disclaimer.aspx [[alternative HTML version deleted]]
Carlos J. Gil Bellosta
2012-Jan-30 22:02 UTC
[R-es] Leer ficheros csv muy grandes (más de un 1 Giga)
Hola, ¿qué tal? Si tu fichero tiene muchas columnas y sobre todo si muchas de ellas son numéricas/categóricas, puedes usar el paquete colbycol que lee ficheros columna a columna. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com
Miguel Astor Varela
2012-Feb-11 19:54 UTC
[R-es] Leer ficheros csv muy grandes (más de un 1 Giga)
Hola, Muchisimas gracias a todos por vuestra ayuda. Os cuento sobre mi equipo ...es una castaña de equipo con 2 Gigas de RAM y con Windows 7...por lo que ya veis que estoy bastante limitado de capacidad. He logrado leer los ficheros finalmente con read.csv y con la ayuda de colClasses logro filtrar algunas columnas que no necesito, por lo que de momento me es suficiente para los analisis que estoy realizando. He probado con scan pero no sé porque me da un error con un separador ; cuando todo está separado con |. El colbycol no le probado pero seguro que lo tendré que utilizar más adelante. Muchas gracias de nuevo! El 30 de enero de 2012 23:02, Carlos J. Gil Bellosta <cgb@datanalytics.com>escribió:> Hola, ¿qué tal? > > Si tu fichero tiene muchas columnas y sobre todo si muchas de ellas > son numéricas/categóricas, puedes usar el paquete colbycol que lee > ficheros columna a columna. > > Un saludo, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]