Esta pregunta proviene de una serie de otras preguntas que tratan esencialmente el mismo problema. Por alguna extraña razón, el uso de una función dentro de otra función a veces falla en el sentido de que las variables definidas dentro del entorno local de la primera función no se encuentran en la segunda función.Alcance y funciones en R 2.11.1: ¿Qué está mal?
El patrón clásico en pseudo-código:
ff <- function(x){
y <- some_value
some_function(y)
}
ff(x)
Error en eval (expr, Envir, enclos): de objeto 'y' No se han encontrado
principio pensé que tenía algo que ver con los métodos S4 y el alcance allí, pero también sucede con otras funciones. He tenido alguna interacción con el equipo de desarrollo de R, pero lo único que hicieron fue dirigirme al sitio de informes de errores (que no es el más atractivo, tengo que decir). Nunca recibí ningún comentario.
Como el problema sigue surgiendo, me pregunto si hay una explicación lógica para ello. ¿Es un error común en todos estos casos, y si es así, cuál? ¿O es realmente un error?
Algunas de estas preguntas:
- Using functions and environments
- R (statistical) scoping error using transformBy(), part of the doBy package.
- How to use acast (reshape2) within a function in R?
- Why can't I pass a dataset to a function?
- Values not being copied to the next local environment
PD: Sé que el Lista R-devel, en caso de que te lo hayas preguntado ...
Me gusta su solución en este http://stackoverflow.com/questions/3742415/r-statistical-scoping-error-using-transformby-part-of-the-doby-package –
También contacté con R-devel , y allí me contaron lo mismo que @Richie, @Jonathan y @hadley me lo dijeron. Gracias a todos por las valiosas respuestas. –