Если кто-то хочет сделать это с простым исходным файлом, а не с сохраненным файлом Rdata / RDS / Rda, решение очень похоже на то, которое предоставляет @Hong Ooi
load_obj <- function(fileName) {
local_env = new.env()
source(file = fileName, local = local_env)
return(local_env[[names(local_env)[1]]])
}
my_loaded_obj = load_obj(fileName = "TestSourceFile.R")
my_loaded_obj(7)
Печать:
[1] "Значение аргумента равно 7"
А в отдельном исходном файле TestSourceFile.R
myTestFunction = function(arg) {
print(paste0("Value of arg is ", arg))
}
Опять же, это решение работает, только если существует ровно один файл, если их больше, тогда он просто вернет один из них (вероятно, первый, но это не гарантировано).