Определите все функции в одном файле .R, вызовите их из другого .R файла. Как, если это возможно? Как мне вызвать функции, определенные в файле abc.R в другом файле, скажем, xyz.R? Дополнительный вопрос: как мне вызвать функции, определенные в abc.R, из командной строки R/командной строки? Ответ 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 >
Ответ 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 >