Foro de debate

Error por tamaño de objeto

Error por tamaño de objeto

de Rafael Molina Venegas -
Número de respuestas: 1
Hola, les planteo un problema que me ha surgido.


Tengo una lista (objeto mpdran) de longitud 999, siendo cada uno de los 999 elementos un objeto de la clase "phylo"

Lo que pretendo es calcular una matriz de distancia para cada par de especies que aparecen en estos objetos phylo.

Para ello, aplico este script:

Dist = vector(mode="list", length=999)
for (i in 1:999){
Dist.i = cophenetic(mpdran[[i]])
Dist[[i]] = Dist.i

La cuestión es que da el siguiente error:

Error: cannot allocate vector of size 604.2 Mb
R(699,0xa04eb540) malloc: *** mmap(size=633540608) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
R(699,0xa04eb540) malloc: *** mmap(size=633540608) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug

He comprobado que el bucle funciona como máximo tres veces ,aunque sigue dando este error

R(699,0xa04eb540) malloc: *** mmap(size=316772352) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug

Esto quiere decir que el script está bien, pero sospecho que R no soporta un objeto tan pesado (cada una de las 999 matrices tendría dim = 4450 4450). La función por si sola funciona bien, el problema está en la cantidad de bucles. No entiendo muy bien el mensaje de error

¿Alguna sugerencia?

Gracias!

Rafa