[R-es] Error: protect(): protection stack overflow

Javier Marcuzzi j@v|er@ruben@m@rcuzz| @end|ng |rom gm@||@com
Vie Abr 1 15:36:14 CEST 2022


Estimado Manuel Mendoza

Se me ocurre una prueba, aunque pueda carecer de sentido, es solo para medir la computadora. Son 933 por 58036. ¿Y si es 58… x 993? ¿Si lo modifica si cambia uno por otros? ¿Que pasa?

Recién realicé una búsqueda en internet con las siguientes palabras: Using sparse matrix in random forest. Y hay respuestas, pero no leí ninguna, lo desconozco, sin embargo, es una forma de disminuir la utilización de memoria ram.

Javier Rubén Marcuzzi

> El 1 abr. 2022, a las 07:55, Manuel Mendoza <mmendoza using fulbrightmail.org> escribió:
> 
> Gracias Javier, en mi caso el problema es más sencillo. Se trata de encontrar patrones en la expresión génica en las células de 3 formas básicas de cáncer (que incluyen muchos tipos distintos). Estas se distribuyen en 933 líneas celulares, en las que se analizó el grado de expresión de 58036 genes. Por eso son tantas variables.
> Un saludo,
> Manuel
> 
> El vie, 1 abr 2022 a las 7:15, Javier Marcuzzi (<javier.ruben.marcuzzi using gmail.com <mailto:javier.ruben.marcuzzi using gmail.com>>) escribió:
> Estimado Manuel Mendoza
> 
> Desconozco como funciona en su caso, yo tuve algo de genética y R, no tenía esa cantidad de variables, pero sí muchos más individuos y utilizaba la relación entre parientes para los cálculos genéticos.
> 
> Por casa variable entraba la relación entre parientes, pero aquí está el problema, son todas las variables por todas las relaciones entre parientes necesarias para la genética aditiva del gen, supongamos 1000 relaciones por 3 variables, es 1000 por cada un a de las tres más el resto, esto es un calculo computacional impresionante. 
> 
> Como este problema es conocido, en genética se utiliza “esparce matrix” el corrector me modifica, para poder trabajarlo, por lo que es posible que el algoritmo no sea el adecuado, aunque si es genética de procariotas no había ciertos problemas, por lo que es la reproducción celular.
> 
> Consulte internamente en los algoritmos para seleccionar o buscar otra opción adecuada que tenga en cuenta el trabajo con la memoria ram, hay alternativas muy específicas que no se dan o requieren fuera de genética, por lo menos dentro de lo que yo conozco.
> 
> Javier Rubén Marcuzzi
> 
> > El 31 mar. 2022, a las 23:59, Manuel Mendoza <mmendoza using fulbrightmail.org <mailto:mmendoza using fulbrightmail.org>> escribió:
> > 
> > Buenos días, por primera vez he necesitado trabajar con una df que incluye nada menos que 58036 variables, que son grados de expresión génica (el nº de muestras es 933) y al hacer un random forest (paquete randomForest) me ha dado un error hasta ahora para mi desconocido: Error: protect(): protection stack overflow
> > 
> > Parece ser debido a la falta de memoria del ordenador, que es un laptop, aunque bastante potente. Con 9197 variables no tuve problemas y tardó mucho menos de lo que yo esperaba. 
> > ¿Es posible hacer algo?
> > Gracias,
> > Manuel
> > 
> > 
> > Memnory Usage Report
> > 
> > <image.png>
> > 
> > 
> >  Con gc() me salió esto:
> > 
> >                   used      (Mb)         gc trigger        (Mb)           max used        (Mb)
> > Ncells  1120419      59.9           2413118      128.9            1717277         91.8
> > Vcells 56595010   431.8     1723373484   13148.3     1793563775    13683.9
> > 
> > 
> > 
> > 
> > 
> > 
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es using r-project.org <mailto:R-help-es using r-project.org>
> > https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es>
> 


	[[alternative HTML version deleted]]



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