Carlos J. Gil Bellosta
2013-Jun-13 16:35 UTC
[R-es] ¿Alguna explicación para este fenómeno? (Relativo al uso de memoria)
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
Carlos Ortega
2013-Jun-13 18:04 UTC
[R-es] ¿Alguna explicación para este fenómeno? (Relativo al uso de memoria)
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@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@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Marcelino de la Cruz
2013-Jun-13 18:23 UTC
[R-es] ¿Alguna explicación para este fenómeno? (Relativo al uso de memoria)
Y el tamaño también depende de la estructura que tenga la data.frame (numero de filas y columnas): > object.size(data.frame(matrix(1,nc=10,nr=10))) 2984 bytes > object.size(data.frame(matrix(1,nc=2,nr=50))) 1576 bytes > object.size(data.frame(matrix(1,nc=50,nr=2))) 6568 bytes (cosa que no pasa con las matrices): > object.size((matrix(1,nc=10,nr=10))) 1000 bytes > object.size((matrix(1,nc=50,nr=2))) 1000 bytes > object.size((matrix(1,nc=2,nr=50))) 1000 bytes > Así que al partir una data.frame irás "acumulando" bytes extra, y cuanto más pequeños sean los "trozos", mayor será el tamaño: > object.size(data.frame(matrix(1,nc=5,nr=5)))*4 5376 bytes > object.size(data.frame(matrix(1,nc=2,nr=2)))*25 20200 bytes Saludos, Marcelino El 13/06/2013 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 >
Jose Luis Cañadas
2013-Jun-13 18:42 UTC
[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@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@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> > > > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es[[alternative HTML version deleted]]
Possibly Parallel Threads
- ¿Alguna explicación para este fenómeno? (Relativo al uso de memoria)
- ¿Alguna explicación para este fenómeno? (Relativo al uso de memoria)
- ¿Alguna explicación para este fenómeno? (Relativo al uso de memoria)
- ¿Alguna explicación para este fenómeno? (Relativo al uso de memoria)
- ¿Alguna explicación para este fenómeno? (Relativo al uso de memoria)