Ответ 1
Вы можете вызвать source("abc.R")
, а затем source("xyz.R")
(при условии, что оба этих файла находятся в вашем текущем рабочем каталоге.
Если abc.R:
fooABC <- function(x) {
k <- x+1
return(k)
}
и xyz.R:
fooXYZ <- function(x) {
k <- fooABC(x)+1
return(k)
}
тогда это будет работать:
> source("abc.R")
> source("xyz.R")
> fooXYZ(3)
[1] 5
>
Даже если есть циклические зависимости, это будет работать.
например. Если abc.R:
fooABC <- function(x) {
k <- barXYZ(x)+1
return(k)
}
barABC <- function(x){
k <- x+30
return(k)
}
и xyz.R это:
fooXYZ <- function(x) {
k <- fooABC(x)+1
return(k)
}
barXYZ <- function(x){
k <- barABC(x)+20
return(k)
}
тогда
> source("abc.R")
> source("xyz.R")
> fooXYZ(3)
[1] 55
>