Escopo e funções em R 2.11.1: O que está acontecendo de errado?

Essa pergunta vem de uma série de outras questões que tratam essencialmente do mesmo problema. Por algum motivo estranho, o uso de uma função dentro de outra função às vezes falha no sentido de que variáveis definidas no ambiente local da primeira função não são encontradas na segunda função.

O padrão clássico no pseudo-código:

ff <- function(x){
    y <- some_value
    some_function(y)
}
ff(x)

Erro no eval (expr, ambiente, anexo): objeto 'y' não encontrado

Primeiro, pensei que tivesse algo a ver com os métodos S4 e o escopo, mas também acontece com outras funções. Eu tive alguma interação com a equipe de desenvolvimento do R, mas tudo o que eles fizeram foi me direcionar para o site de relatório de erros (que não é o mais convidativo, devo dizer). Eu nunca recebi nenhum feedback.

Como o problema continua surgindo, pergunto-me se existe uma explicação lógica para ele. É um erro comum cometido em todos esses casos e, em caso afirmativo, qual? Ou é realmente um bug?

Algumas dessas perguntas:

Usando funções e ambientesErro de escopo R (estatístico) usando transformBy (), parte do pacote doBy.Como usar acast (reshape2) dentro de uma função no R?Por que não posso passar um conjunto de dados para uma função?Valores que não estão sendo copiados para o próximo ambiente local

PS: Conheço a lista R-devel, caso você tenha se perguntado ...

questionAnswers(4)

yourAnswerToTheQuestion