Я подозреваю, что ваша FUN2
функция использует dist
. Но dist
, который вы вычисляете внутри FUNC
, является локальным, поэтому FUN2
не может его найти. Вместо этого он использует тот в вашем глобальном рабочем пространстве, который, вероятно, слишком короткий. Вот почему вы получаете это сообщение об ошибке.
Вы должны действительно изменить и FUNC
, и FUN2
, чтобы они не использовали глобальные переменные (co
, dist
, list
, new_list
- и, возможно, FUN2
тоже могут быть аргументами до FUNC
).
... но, по крайней мере, измените FUN2
на dist
в качестве аргумента:
FUN2 <- function(i, dist) {
# Your code here...
}
# In FUNC: Pass dist to FUN2
mean <- sapply(1:(i-1),FUN2, dist=dist)
... И если вы хотите сохранить этот код, вам следует ДЕЙСТВИТЕЛЬНО рассмотреть возможность придания функциям более описательных имен ...