[R-es] ¿Alguna explicación para este fenómeno? (Relativo al uso de memoria)

Carlos J. Gil Bellosta cgb en datanalytics.com
Jue Jun 13 23:04:28 CEST 2013


Hola, ¿qué tal?

Lo que quieres es un "debugger visual" (como el de muchos IDEs,
incluyendo Netbeans y Eclipse) para R, como el de Revolution,

http://www.youtube.com/watch?feature=player_embedded&v=7shLKEINM9A#!

Pues sí, efectivamente, existe, pero solo con la versión de
Revolutions de R. Y verás también que está basado en el "debugger"
tradicional de R, que permite ejecutar código línea a línea.

Personalmente, no veo que la parte visual aporte mucho: soy más rápido
tecleando que moviendo el ratón.

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com

El día 13 de junio de 2013 21:45, Marcuzzi, Javier Rubén
<javier.ruben.marcuzzi en gmail.com> escribió:
> Estimado Carlos
>
> Sobre:
>
> ¿Seré yo el único al que los dichosos factores le han hecho perder
> horas y horas de trabajo?
>
> Si usted supiese en mi caso las cosas fáciles que me hacen perder tiempo.
>
> ¿Hay alguna herramienta que verifique lo que realiza el código?
>
> Yo no soy programador pero vi en visualstudio o en netbeans, algunas formas
> donde colocando puntos en ciertas partes del código es posible visualizar
> como se va procesando, con información útil en el procesamiento técnico a un
> nivel informático que escapa a la mayoría, pero que existe.
>
> Javier
>
> -----Original Message----- From: Carlos J. Gil Bellosta
> Sent: Thursday, June 13, 2013 4:26 PM
> To: Marcuzzi, Javier Rubén
> Cc: Jose Luis Cañadas ; r-help-es
>
> Subject: Re: [R-es] ¿Alguna explicación para este fenómeno? (Relativo al uso
> de memoria)
>
> Hola, ¿qué tal?
>
> Al final he descubierto el motivo del problema. Cierto que esperaba
> cierto nivel de _overhead_, pero nunca tantísimo. Por mucho _overhead_
> que haya, no se pasa de 7MB a 5GB.
>
> El problema era que (a pesar de mi opción stringsAsFactors = F) los
> niveles de los factores se copiaban íntegros en cada una de las
> columnas de tipo factor de cada una de las tablas resultantes. Aunque
> no se usasen.
>
> He convertido los factores a caracter, he vuelto a trocear el df
> resultante y el resultado ha sido:
>
>> object.size(empresas)
>
> 33052680 bytes
>>
>> object.size(loans)
>
> 3813944 bytes
>
> Es decir, con _overhead_ el tamaño del objeto resultante ha crecido en
> un orden de magnitud (asumible), no en tres o cuatro (no asumible).
>
> ¿Seré yo el único al que los dichosos factores le han hecho perder
> horas y horas de trabajo?
>
> Salud,
>
> Carlos J. Gil Bellosta
> http://www.datanalytics.com
>
>
> El día 13 de junio de 2013 20:54, Marcuzzi, Javier Rubén
> <javier.ruben.marcuzzi en gmail.com> escribió:
>>
>> Estimados
>>
>> ¿que pasa con opciones como bigdata o semejantes? Tendría que probar,
>> leer,
>> etc., pero puede ser que algún algoritmo distinto solucione esos
>> problemas.
>> Recuerdo una presentación que creo que la realizó alguno de la lista donde
>> utilizaba millones de datos, eran de aeropuertos, tráfico aéreo, algo de
>> eso
>> había leído en una oportunidad.
>>
>> Javier Marcuzzi
>>
>> -----Original Message----- From: Jose Luis Cañadas
>> Sent: Thursday, June 13, 2013 3:42 PM
>> To: r-help-es en r-project.org
>> Subject: Re: [R-es] ¿Alguna explicación para este fenómeno? (Relativo al
>> uso
>> de memoria)
>>
>>
>> Interesante... y preocupante.
>> No propuso alguien, no hace mucho, reescribir R desde el principio por
>> este tipo de cosas?
>> El 13/06/13 20:04, Carlos Ortega escribió:
>>>
>>>
>>> Hola,
>>>
>>> Si este comportamiento se ve con cualquier data.frame que luego
>>> conviertas
>>> a lista:
>>>
>>>>
>>>> v <- 1:10
>>>> w <- split(v, 1:2)
>>>> w
>>>
>>>
>>> $`1`
>>> [1] 1 3 5 7 9
>>>
>>> $`2`
>>> [1]  2  4  6  8 10
>>>
>>>> object.size(v)
>>>
>>>
>>> 88 bytes
>>>>
>>>>
>>>> object.size(w)
>>>
>>>
>>> 464 bytes
>>>>
>>>>
>>>> object.size(w[[1]])
>>>
>>>
>>> 72 bytes
>>>
>>> Y he encontrado una explicación que entiendo parcialmente está aquí:
>>>
>>>
>>>
>>>
>>> http://stackoverflow.com/questions/15848590/confusing-size-of-objects-in-r/15850414#15850414
>>>
>>> Saludos,
>>> Carlos Ortega
>>> www.qualityexcellence.es
>>>
>>>
>>> El 13 de junio de 2013 18:35, Carlos J. Gil Bellosta
>>> <gilbellosta en gmail.com>escribió:
>>>
>>>> Hola, ¿qué tal?
>>>>
>>>> Tengo un df relativamente chiquito:
>>>>
>>>>> dim(loans)
>>>>
>>>>
>>>> [1] 15172    22
>>>>>
>>>>>
>>>>> object.size(loans)
>>>>
>>>>
>>>> 7488144 bytes
>>>>
>>>> Sin embargo,
>>>>
>>>> empresas <- split(loans, loans$number_id)
>>>> length(empresas)
>>>> #8748
>>>>
>>>> object.size(empresas)
>>>> # 50643907728 bytes
>>>>
>>>> Es decir, el objeto resultante de partir un df de 15000 filas en 8700
>>>> dfs ocupa 5GB.
>>>>
>>>> ¿Alguna idea de por qué ocurre esto?
>>>>
>>>> (Uso R 3.0.1 en un Xubuntu 12.04 de 64 bits).
>>>>
>>>> Un saludo,
>>>>
>>>> Carlos J. Gil Bellosta
>>>> http://www.datanalytics.com
>>>>
>>>> _______________________________________________
>>>> R-help-es mailing list
>>>> R-help-es en r-project.org
>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>



Más información sobre la lista de distribución R-help-es