Estoy de acuerdo con la observación de Joan, yo supe utilizar formas para trabajar con más memoria de la configurada como base, pero tengamos en cuenta que una vez importados los datos, cualquier operación estará entre la memoria física y la virtual, es todo un desafío y dependerá del análisis estadístico (me refiero a los algoritmos que ordenen al CPU). Mi experiencia cuándo trabaje con muchos datos y tocando los parámetros de memoria, en algo parecido a un modelo mixto, una variable 5 minutos de procesamiento, dos variables unos 15 minutos, ambas más una relación más de dos días de procesamiento, esa relación en solo una variable algo como una hora. Básicamente podía por separado, pero cuándo sumaba algo al modelo de tiempos razonables pasaba a dos días (medido en la pantalla de R porque pasaba datos según procesaba - verbose=TRUE). Javier Marcuzzi El 3 de junio de 2014, 18:54, Joan Carmona <jcmld@carmonarocha.com> escribió:> Hola Laura, > > Asumo que estás usando una versión de R de 64 bits, de lo contrario ya > irías > muy limitada por la versión, si ésta fuera de 32 bits. > > R puede trabajar con objetos mayores que la memoria física instalada, > gracias a la memoria virtual de la máquina. > > Pero hay que tener en cuenta que, en Windows, R limita la memoria > disponible > para una sesión de R. Para cambiar este límite, mira los comandos > memory.size y memory.limit > > Saludos, > > Juan Carmona > > -----Mensaje original----- > De: r-help-es-bounces@r-project.org [mailto: > r-help-es-bounces@r-project.org] > En nombre de laura tomé > Enviado el: martes, 03 de junio de 2014 19:37 > Para: r-help-es@r-project.org > Asunto: [R-es] Cargar csv de 16GB en R > > > > > Hola, > > Estoy todavía dando mis primeros pasos en R y una de las cosas que tengo > que > hacer es trabajar con un csv de 16 GB. Consta de 10 columnas, 7 númericas > He > probado varias cosas entre ellas los paquetes 'colbycol', data.table, ff > , > etc, pero nada, mi ordenador de queda frito. Por cierto, tiene 8GB de RAM > y > Windows 8 > > ¿Debo trocear previamente el csv,me recomendais algún paquete en especial, > etc para trabajar con un fichero tan pesado, otra solución?... > > 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]]
A parte de todas las propuestas que han surgido aquí, ¿Nos puedes contar qué necesitas hacer con el fichero?. Si se trata de algo tipo modelo lineal de una variable explicada por las otras 7, consideraría trabajar con muestras. Si ese fichero ocupa 16 gb en formato texto y son 7 variables tendrás cientos de millones de registros y probablemente con unos pocos cientos de miles tengas más que de sobra. Si lo que necesitas es algún tipo de procesamiento de las variables estoy de acuerdo con lo de procesarlo primero con herramientas externas. Incluso procesandolo por lotes en R si necesitas hacer cosas como cruces con otras tablas, te va a dar problemas. Y además de todo esto, tienes que contar con que lo que hagas va a tardar cierta cantidad de tiempo. Si trabajas con windows es bastante fácil que el ordenador "se quede frito" mientras procesas el fichero. El 4 de junio de 2014, 1:53, Javier Marcuzzi < javier.ruben.marcuzzi@gmail.com> escribió:> Estoy de acuerdo con la observación de Joan, yo supe utilizar formas para > trabajar con más memoria de la configurada como base, pero tengamos en > cuenta que una vez importados los datos, cualquier operación estará entre > la memoria física y la virtual, es todo un desafío y dependerá del análisis > estadístico (me refiero a los algoritmos que ordenen al CPU). > > Mi experiencia cuándo trabaje con muchos datos y tocando los parámetros de > memoria, en algo parecido a un modelo mixto, una variable 5 minutos de > procesamiento, dos variables unos 15 minutos, ambas más una relación más de > dos días de procesamiento, esa relación en solo una variable algo como una > hora. Básicamente podía por separado, pero cuándo sumaba algo al modelo de > tiempos razonables pasaba a dos días (medido en la pantalla de R porque > pasaba datos según procesaba - verbose=TRUE). > > Javier Marcuzzi > > > El 3 de junio de 2014, 18:54, Joan Carmona <jcmld@carmonarocha.com> > escribió: > > > Hola Laura, > > > > Asumo que estás usando una versión de R de 64 bits, de lo contrario ya > > irías > > muy limitada por la versión, si ésta fuera de 32 bits. > > > > R puede trabajar con objetos mayores que la memoria física instalada, > > gracias a la memoria virtual de la máquina. > > > > Pero hay que tener en cuenta que, en Windows, R limita la memoria > > disponible > > para una sesión de R. Para cambiar este límite, mira los comandos > > memory.size y memory.limit > > > > Saludos, > > > > Juan Carmona > > > > -----Mensaje original----- > > De: r-help-es-bounces@r-project.org [mailto: > > r-help-es-bounces@r-project.org] > > En nombre de laura tomé > > Enviado el: martes, 03 de junio de 2014 19:37 > > Para: r-help-es@r-project.org > > Asunto: [R-es] Cargar csv de 16GB en R > > > > > > > > > > Hola, > > > > Estoy todavía dando mis primeros pasos en R y una de las cosas que tengo > > que > > hacer es trabajar con un csv de 16 GB. Consta de 10 columnas, 7 númericas > > He > > probado varias cosas entre ellas los paquetes 'colbycol', data.table, > ff > > , > > etc, pero nada, mi ordenador de queda frito. Por cierto, tiene 8GB de > RAM > > y > > Windows 8 > > > > ¿Debo trocear previamente el csv,me recomendais algún paquete en > especial, > > etc para trabajar con un fichero tan pesado, otra solución?... > > > > 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]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
¿Memoria virtual y R? Por lo que tengo entendido, como ha dicho Carlos antes, R trabaja con la memoria física, por lo que nunca vas a poder trabajar simultáneamente con objetos que requieran más memoria que la RAM de tu equipo. De hecho, bajo mi punto de vista, es el problema fundamental de R. Si funcionara con memoria virtual... IGUAL HASTA ME CASABA CON ÉL, XD Así que, por favor, si alguien puede aclarar este asunto, lo agradecería enormemente... Un saludo a todos. Isidro Hidalgo Arellano Observatorio Regional de Empleo Consejería de Empleo y Economía http://www.jccm.es> -----Mensaje original----- > De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r- > project.org] En nombre de Javier Marcuzzi > Enviado el: miércoles, 04 de junio de 2014 1:54 > Para: Joan Carmona > CC: r-help-es; laura tomé > Asunto: Re: [R-es] Cargar csv de 16GB en R > > Estoy de acuerdo con la observación de Joan, yo supe utilizar formas > para trabajar con más memoria de la configurada como base, pero > tengamos en cuenta que una vez importados los datos, cualquier > operación estará entre la memoria fÃsica y la virtual, es todo un > desafÃo y dependerá del análisis estadÃstico (me refiero a los > algoritmos que ordenen al CPU). > > Mi experiencia cuándo trabaje con muchos datos y tocando los > parámetros de memoria, en algo parecido a un modelo mixto, una > variable 5 minutos de procesamiento, dos variables unos 15 minutos, > ambas más una relación más de dos dÃas de procesamiento, esa > relación en solo una variable algo como una hora. Básicamente podÃa > por separado, pero cuándo sumaba algo al modelo de tiempos razonables > pasaba a dos dÃas (medido en la pantalla de R porque pasaba datos > según procesaba - verbose=TRUE). > > Javier Marcuzzi > > > El 3 de junio de 2014, 18:54, Joan Carmona <jcmld en carmonarocha.com> > escribió: > > > Hola Laura, > > > > Asumo que estás usando una versión de R de 64 bits, de lo contrario > > ya irÃas muy limitada por la versión, si ésta fuera de 32 bits. > > > > R puede trabajar con objetos mayores que la memoria fÃsica > instalada, > > gracias a la memoria virtual de la máquina. > > > > Pero hay que tener en cuenta que, en Windows, R limita la memoria > > disponible para una sesión de R. Para cambiar este lÃmite, mira los > > comandos memory.size y memory.limit > > > > Saludos, > > > > Juan Carmona > > > > -----Mensaje original----- > > De: r-help-es-bounces en r-project.org [mailto: > > r-help-es-bounces en r-project.org] > > En nombre de laura tomé > > Enviado el: martes, 03 de junio de 2014 19:37 > > Para: r-help-es en r-project.org > > Asunto: [R-es] Cargar csv de 16GB en R > > > > > > > > > > Hola, > > > > Estoy todavÃa dando mis primeros pasos en R y una de las cosas que > > tengo que hacer es trabajar con un csv de 16 GB. Consta de 10 > > columnas, 7 númericas He probado varias cosas entre ellas los > > paquetes 'colbycol', data.table, ff , etc, pero nada, mi ordenador > > de queda frito. Por cierto, tiene 8GB de RAM y Windows 8 > > > > ¿Debo trocear previamente el csv,me recomendais algún paquete en > > especial, etc para trabajar con un fichero tan pesado, otra > solución?... > > > > 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 > > > > [[alternative HTML version deleted]]
Otra opción puede ser importar el fichero a una base de datos: Yo suelo importar ficheros grandes en postgresql con COPY (si tengo que manipular los datos lo hago con talend http://www.talend.com/download/data-integration me permite cargar datos realmente grandes sin problemas) Una vez tengo los datos en la base de datos ya puedo llamar perfectamente desde R con rpostgresql y hacer los filtros o selecciones oportunas sobre la base de datos. Un saludo El día 4 de junio de 2014, 11:39, Isidro Hidalgo <ihidalgo en jccm.es> escribió:> ¿Memoria virtual y R? Por lo que tengo entendido, como ha dicho Carlos > antes, R trabaja con la memoria física, por lo que nunca vas a poder > trabajar simultáneamente con objetos que requieran más memoria que la RAM de > tu equipo. > De hecho, bajo mi punto de vista, es el problema fundamental de R. > Si funcionara con memoria virtual... IGUAL HASTA ME CASABA CON ÉL, XD > Así que, por favor, si alguien puede aclarar este asunto, lo agradecería > enormemente... > Un saludo a todos. > > Isidro Hidalgo Arellano > Observatorio Regional de Empleo > Consejería de Empleo y Economía > http://www.jccm.es > > > >> -----Mensaje original----- >> De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r- >> project.org] En nombre de Javier Marcuzzi >> Enviado el: miércoles, 04 de junio de 2014 1:54 >> Para: Joan Carmona >> CC: r-help-es; laura tomé >> Asunto: Re: [R-es] Cargar csv de 16GB en R >> >> Estoy de acuerdo con la observación de Joan, yo supe utilizar formas >> para trabajar con más memoria de la configurada como base, pero >> tengamos en cuenta que una vez importados los datos, cualquier >> operación estará entre la memoria fÃsica y la virtual, es todo un >> desafÃo y dependerá del análisis estadÃstico (me refiero a los >> algoritmos que ordenen al CPU). >> >> Mi experiencia cuándo trabaje con muchos datos y tocando los >> parámetros de memoria, en algo parecido a un modelo mixto, una >> variable 5 minutos de procesamiento, dos variables unos 15 minutos, >> ambas más una relación más de dos dÃas de procesamiento, esa >> relación en solo una variable algo como una hora. Básicamente podÃa >> por separado, pero cuándo sumaba algo al modelo de tiempos razonables >> pasaba a dos dÃas (medido en la pantalla de R porque pasaba datos >> según procesaba - verbose=TRUE). >> >> Javier Marcuzzi >> >> >> El 3 de junio de 2014, 18:54, Joan Carmona <jcmld en carmonarocha.com> >> escribió: >> >> > Hola Laura, >> > >> > Asumo que estás usando una versión de R de 64 bits, de lo contrario >> > ya irÃas muy limitada por la versión, si ésta fuera de 32 bits. >> > >> > R puede trabajar con objetos mayores que la memoria fÃsica >> instalada, >> > gracias a la memoria virtual de la máquina. >> > >> > Pero hay que tener en cuenta que, en Windows, R limita la memoria >> > disponible para una sesión de R. Para cambiar este lÃmite, mira los >> > comandos memory.size y memory.limit >> > >> > Saludos, >> > >> > Juan Carmona >> > >> > -----Mensaje original----- >> > De: r-help-es-bounces en r-project.org [mailto: >> > r-help-es-bounces en r-project.org] >> > En nombre de laura tomé >> > Enviado el: martes, 03 de junio de 2014 19:37 >> > Para: r-help-es en r-project.org >> > Asunto: [R-es] Cargar csv de 16GB en R >> > >> > >> > >> > >> > Hola, >> > >> > Estoy todavÃa dando mis primeros pasos en R y una de las cosas que >> > tengo que hacer es trabajar con un csv de 16 GB. Consta de 10 >> > columnas, 7 númericas He probado varias cosas entre ellas los >> > paquetes 'colbycol', data.table, ff , etc, pero nada, mi ordenador >> > de queda frito. Por cierto, tiene 8GB de RAM y Windows 8 >> > >> > ¿Debo trocear previamente el csv,me recomendais algún paquete en >> > especial, etc para trabajar con un fichero tan pesado, otra >> solución?... >> > >> > 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 >> > >> >> [[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-- Jorge Ayuso Rejas
Es cierto que R carga los objetos en memoria, pero ésta puede ser memoria RAM + Virtual. Yo he trabajado con data frames mayores que la memoria física. Es cierto que esto ralentiza las operaciones. Lo que marca realmente los límites de la memoria es la versión del sistema operativo y de R, que han de ser de 64 bits. En un sistema de 32 bits el direccionamiento teórico máximo es de 4 Gbytes, pero en un sistema de 64 bits el límite es de varios Tbytes. Teóricamente (y sólo teóricamente) se podría trabajar con objetos muy grandes, siempre que tengas suficiente espacio en disco. -----Mensaje original----- De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de Isidro Hidalgo Enviado el: miércoles, 04 de junio de 2014 11:39 Para: 'r-help-es' Asunto: Re: [R-es] Cargar csv de 16GB en R ¿Memoria virtual y R? Por lo que tengo entendido, como ha dicho Carlos antes, R trabaja con la memoria física, por lo que nunca vas a poder trabajar simultáneamente con objetos que requieran más memoria que la RAM de tu equipo. De hecho, bajo mi punto de vista, es el problema fundamental de R. Si funcionara con memoria virtual... IGUAL HASTA ME CASABA CON ÉL, XD Así que, por favor, si alguien puede aclarar este asunto, lo agradecería enormemente... Un saludo a todos. Isidro Hidalgo Arellano Observatorio Regional de Empleo Consejería de Empleo y Economía http://www.jccm.es> -----Mensaje original----- > De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r- > project.org] En nombre de Javier Marcuzzi Enviado el: miércoles, 04 de > junio de 2014 1:54 > Para: Joan Carmona > CC: r-help-es; laura tomé > Asunto: Re: [R-es] Cargar csv de 16GB en R > > Estoy de acuerdo con la observación de Joan, yo supe utilizar formas > para trabajar con más memoria de la configurada como base, pero > tengamos en cuenta que una vez importados los datos, cualquier > operación estará entre la memoria fÃsica y la virtual, es todo un > desafÃo y dependerá del análisis estadÃstico (me refiero a los > algoritmos que ordenen al CPU). > > Mi experiencia cuándo trabaje con muchos datos y tocando los > parámetros de memoria, en algo parecido a un modelo mixto, una > variable 5 minutos de procesamiento, dos variables unos 15 minutos, > ambas más una relación más de dos dÃas de procesamiento, esa > relación en solo una variable algo como una hora. Básicamente podÃa > por separado, pero cuándo sumaba algo al modelo de tiempos razonables > pasaba a dos dÃas (medido en la pantalla de R porque pasaba datos > según procesaba - verbose=TRUE). > > Javier Marcuzzi > > > El 3 de junio de 2014, 18:54, Joan Carmona <jcmld en carmonarocha.com> > escribió: > > > Hola Laura, > > > > Asumo que estás usando una versión de R de 64 bits, de lo > > contrario ya irÃas muy limitada por la versión, si ésta fuera de 32bits.> > > > R puede trabajar con objetos mayores que la memoria fÃsica > instalada, > > gracias a la memoria virtual de la máquina. > > > > Pero hay que tener en cuenta que, en Windows, R limita la memoria > > disponible para una sesión de R. Para cambiar este lÃmite, mira > > los comandos memory.size y memory.limit > > > > Saludos, > > > > Juan Carmona > > > > -----Mensaje original----- > > De: r-help-es-bounces en r-project.org [mailto: > > r-help-es-bounces en r-project.org] > > En nombre de laura tomé > > Enviado el: martes, 03 de junio de 2014 19:37 > > Para: r-help-es en r-project.org > > Asunto: [R-es] Cargar csv de 16GB en R > > > > > > > > > > Hola, > > > > Estoy todavÃa dando mis primeros pasos en R y una de las cosas que > > tengo que hacer es trabajar con un csv de 16 GB. Consta de 10 > > columnas, 7 númericas He probado varias cosas entre ellas los > > paquetes 'colbycol', data.table, ff , etc, pero nada, mi ordenador > > de queda frito. Por cierto, tiene 8GB de RAM y Windows 8 > > > > ¿Debo trocear previamente el csv,me recomendais algún paquete en > > especial, etc para trabajar con un fichero tan pesado, otra > solución?... > > > > 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 > > > > [[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