Проблема не имеет ничего общего с областью действия object1
, она связана с бесконечным циклом
source("function1.R") > source("function2.R") > source("function1.R") > etc
Этот первый пример воспроизводит ошибку.
# file: function1.R
source("function2.R")
function1 <- function(){
object1 <- 1:10
function2(p1 = object1, p2 = 2)
}
# file: function2.R
source("function1.R")
function2 <- function(p1, p2){
p1 + p2
}
В чистом сеансе R запустите:
source("function1.R")
Ошибка: переполнение стека узлов
Теперь удалите строку source("function1.R")
из второго файла, function2.R.
# new file: function2.R
function2 <- function(p1, p2){
p1 + p2
}
Снова в чистом сеансе R запустите:
source("function1.R")
function1()
#[1] 3 4 5 6 7 8 9 10 11 12
Объект, созданный в области действия function1
, можно без проблем передать в function2
.