[R-es] Cannot allocate vector of size

Ruben Bermad ruben_bm en hotmail.com
Lun Dic 21 11:08:04 CET 2015


Hola a tod en s,
Soy nuevo en R-help-es, por lo que perdonadme si debería haber mandado este email a una sección en particular. 
Quería consultaros un error que me aparece en R al hacer una matriz de disimilitud a partir de una tabla con 6000 columnas x 11000 filas. El mensaje que da R es "cannot allocate vector of size 10Gb", y me resulta extraño ya que tengo 64 Gb de RAM disponible. 
He estado leyendo en los foros y manuales de R que si trabajo en una máquina de 64 bits sea Windows o Linux R no debería de tener un límite para ubicar un objeto, y que debería de usar toda la memoria física y virtual disponible, pero creo que no está siendo así. 
Por ello quisiera preguntaros si vosotros sabéis como puedo ampliar la memoria disponible (si este fuera de verdad el problema) o cómo puedo ubicar el vector en el disco y que no use la RAM.
En concreto estoy intentando usar la función "beta.pair" del paquete "betapart" (https://cran.r-project.org/web/packages/betapart/betapart.pdf) sobre la matriz de 6000x11000. Es en este punto donde R me da el mensaje de error. 
Después me gustaría ejecutar la función "agnes" del paquete "cluster" o la función "hclust" del paquete "stats" sobre dicha matriz de disimilitud, y supongo que tendré un problema similar. 
El código exacto que he usado es:library(betapart)data_base # Base de datos de 6000 columnas x 11000 filasdistance <- beta.pair (data_base, index.family="sorensen") # Calculo de la matriz de disimilitud
beta_similarity <- distance$beta.sim # Selecciono el tipo de medida que quiero 
library(cluster)UPGMA<- agnes (beta_similarity ) # Análisis UPGMA

Soluciones que he intentado: Ante los problemas que he tenido, he intentado hacer la matriz de disimilitud en python. El problema es que no hay una función optimizada para la medida de disimilitud que quiero estimar (índice de simpson), y he tenido que escribir un código para que haga los cálculos por pares, pero va a tardar más de 8 días (y es un análisis que tengo que repetir muchas veces y no me parece muy viable).  Por ello vuelvo a R para intentar buscar una solución con el manejo de esta gran base de datos. 
Os agradecería cualquier tipo de ayuda.
Muchas gracias por adelantado,
Un cordial saludo, Rubén

 		 	   		  
	[[alternative HTML version deleted]]



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