Esta es la respuesta que me da chatgpt 4.0. Yo llevo unos meses utilizándolo y me ha ahorrado muchos días de trabajo. Le podéis hacer cualquier pregunta sobre códigos, errores, métodos, cómo hacer algo, cómo enfocar un problema, etc. Es como tener a un experto (que también se equivoca) a tu disposición las 24 horas. Ya nos dirás si te fue de utilidad. Un saludo
Un "StackOverflowError" generalmente no es causado por falta de RAM, sino más bien por un problema de diseño del código que genera una recursividad infinita o una acumulación demasiado grande de marcos de pila. Sin embargo, dado que comentas que estás ejecutando una operación con una gran cantidad de datos, sería útil considerar optimizaciones tanto en el código como en la configuración del entorno donde se ejecuta el programa. Aquí hay algunas estrategias generales para abordar este tipo de problema: ### Optimización de código 1. **Divide y vencerás**: Si es posible, divide el dataset en partes más pequeñas y procesa cada una por separado. 2. **Vectorización**: En lugar de iterar a través de los datos, usa operaciones vectorizadas si estás trabajando con bibliotecas que las soportan (como NumPy en Python). 3. **Utiliza consultas más eficientes**: Si estás usando SQL u otro lenguaje de consulta, asegúrate de que tus consultas sean lo más eficientes posible. 4. **Optimiza las condiciones**: Si tienes una larga cadena de condiciones OR, trata de organizarlas de tal manera que las condiciones más probables se evalúen primero. ### Optimización de recursos 1. **Aumentar la pila del programa**: Algunos entornos te permiten ajustar el tamaño de la pila. Por ejemplo, en Java, puedes usar la opción `-Xss` para establecer el tamaño de la pila. 2. **Usar más RAM**: Si estás trabajando en un lenguaje de programación que permite ajustar el uso de la memoria, podrías intentar asignar más memoria al entorno de ejecución. ### Otras herramientas Si tienes éxito con SPSS, pero no con otra herramienta, puede ser que SPSS tenga optimizaciones específicas para este tipo de tarea. Considera exportar los datos procesados desde SPSS para seguir trabajando con ellos en la otra herramienta si eso resuelve el problema más eficientemente. ### Uso de Herramientas Específicas También puedes considerar el uso de bibliotecas o herramientas específicas diseñadas para manejar grandes conjuntos de datos, como Dask para Python, que es bueno para trabajar con conjuntos de datos que no caben en la memoria. Sin acceso al código específico o más detalles sobre el problema, es difícil ofrecer una solución más concreta. Sin embargo, espero que estas estrategias generales te ayuden a abordar el problema. El mar, 5 sept 2023 a las 10:24, Enrique Ramalle Gomara via R-help-es (< r-help-es@r-project.org>) escribió: > Buenos dias > > tengo un procedimiento de selección de casos que cumplen una condición u > otra u otra u otra, etc. La condición se repite para 20 variables y son > condiciones múltiples (más de 50) que he unido con un OR (|). Afecta a una > base de datos con mas de 140000 filas. Cuando lo ejecuta me da > "stackOverflowError". Alguna solución para dedicar más RAM al > procedimiento? o alguna otra solución? El mismo procedimiento lo he > ejecutado en SPSS y no da problemas > > Saludos, muchas Gracias > Enrique > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es