Как отметил Дирк в своем ответе, на самом деле нет проблем с кодом, который вы опубликовали.В ссылках, которые вы разместили в вопросе, похоже, есть общая тема: some_function
содержит код, который каким-то образом портится в окружении.Этот беспорядок либо явный, с использованием new.env
и with
, либо неявным образом, с использованием аргумента data
, который, вероятно, имеет строку типа
y <- eval(substitute(y), data)
Мораль истории двояка.Во-первых, старайтесь избегать явного манипулирования средами, если только вы не уверены, что знаете, что делаете.А во-вторых, если у функции есть аргумент данных, поместите все переменные, которые вам нужна функция, для использования внутри этого фрейма данных.