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

Olivier Nuñez onunez en unex.es
Vie Jun 14 11:38:28 CEST 2013


Carlos,

que sepas que sufrí también el mismo problema hace unos meses,
esperando durante horas cálculos que se podían llevar en unos pocos  
minutos.
Tardé también en percatarme del origen del problema y adopté la misma  
solución.
Un saludo. Olivier



El 13/06/2013, a las 21:26, Carlos J. Gil Bellosta escribió:

> 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
>
> _______________________________________________
> 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