Сфера охвата и функции в R 2.11.1: что не так?
Этот вопрос возникает из ряда других вопросов, которые все имеют дело с одной и той же проблемой. По какой-то странной причине использование функции внутри другой функции иногда приводит к сбою в том смысле, что переменные, определенные в локальной среде первой функции, не найдены во второй функции.
Классический паттерн в псевдокоде:
ff <- function(x){
y <- some_value
some_function(y)
}
ff(x)
Ошибка в eval (expr, envir, enclos): объект 'y' не найден
Сначала я подумал, что это как-то связано с методами S4 и областью видимости, но это также происходит с другими функциями. У меня было некоторое взаимодействие с командой разработчиков R, но все, что они сделали, это направили меня на сайт с отчетом об ошибках (который, я должен сказать, не самый привлекательный). Я никогда не получал никаких отзывов.
Поскольку проблема продолжает возникать, мне интересно, есть ли логическое объяснение этому. Является ли это общей ошибкой, допущенной во всех этих случаях, и если да, то какой? Или это действительно ошибка?
Некоторые из этих вопросов:
Использование функций и средR (статистическая) ошибка определения области видимости при использовании transformBy (), часть пакета doBy.Как использовать acast (reshape2) внутри функции в R?Почему я не могу передать набор данных в функцию?Значения не копируются в следующую локальную средуPS: Я знаю список R-devel, на случай, если вам интересно ...