Estoy intentando utilizar foreach para hacer computación multinúcleo en R.no pudo encontrar la función dentro del bucle foreach
A <-function(....) {
foreach(i=1:10) %dopar% {
B()
}
}
entonces la función A
en la consola llaman. El problema es que estoy llamando a una función Posdef
dentro de B
que está definida en otro archivo de script que yo procedo. Tuve que poner Posdef
en la lista de argumentos exportación de foreach
: .export=c("Posdef")
. Sin embargo, aparece el siguiente error:
Error in { : task 3 failed - "could not find function "Posdef""
¿Por qué R no puede encontrar esta función definida?
recomendaría la búsqueda de información en relación con el ámbito dinámico con R. No es en absoluto intuitivo y encontrará una gran cantidad de preguntas en detalle para que las personas que tienen problemas al definir una función dentro de una función. –
Agradeceríamos un ejemplo reproducible. Además, ¿has probado las nevadas para el multicorchar? Encuentro que es más intuitivo y fácil de adaptar (modificación de funciones de aplicación). –
mismo problema, no se encontró ninguna respuesta simple por el momento. Me las arreglé para hacerlo funcionar llamando a 4 núcleos foreach (j = 1: N, .combine = rbind, .packages = c (VECTOR DE PAQUETES NECESARIO PARA LLAMAR TODAS SUS FUNCIONES))% dopar% fun (j). Mejora la velocidad, pero no se divide por 4 (solo por 2) No estoy seguro de lo que hago, así que no replique esto ... – RockScience