Error: evaluación anidada demasiado: ¿Recursión infinita / opciones (expresiones =)?
He definidomax()
funciona de la siguiente manera:
max <- function(...) max(...,na.rm=T)
Pero no logra computarmax(1:5)
con el siguiente error:Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
Viendo el resultado entraceback()
identifica el problema:
88: max(..., na.rm = T) at PositionMeth.R#1521
87: max(..., na.rm = T) at PositionMeth.R#1521
86: max(..., na.rm = T) at PositionMeth.R#1521
85: max(..., na.rm = T) at PositionMeth.R#1521
84: max(..., na.rm = T) at PositionMeth.R#1521
El nuevomax(...)
La función se llama a sí misma en el cuerpo, no en el original.max()
función. Una solución simple es cambiar el nombre de la función:Max <- function(...) max(...,na.rm=T)
. ¿Hay otras buenas opciones sin cambiar el nombre de -i.e. forzando a R a correr originalmax()
Funcionar en el cuerpo de lo nuevo.max(...)
?