To use functions defined in one .R file from another .R file, you can call the source("abc.R") followed by source("xyz.R") (assuming that both these files are in your current working directory.
For instance:
If abc.R is:
funABC <- function(x) {
y <- x^2
return(y)
}
And xyz.R is:
funXYZ <- function(x) {
y <- funABC(x)+ x^2
return(y)
}
Then the following code will work:
source("abc.R")
> source("xyz.R")
> funXYZ(3)
[1] 18
This method works even if a cyclical dependency exists.i.e.,
If abc.R is this:
funABC <- function(x) {
y <- barXYZ(x)+1
return(y)
}
barABC <- function(x){
y <- x+30
return(y)
}
And xyz.R is this:
funXYZ <- function(x) {
y <- funABC(x)+1
return(y)
}
barXYZ <- function(x){
y<- barABC(x)+20
return(y)
}
Then:
source("abc.R")
source("xyz.R")
funXYZ(3)
[1] 55