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