¿Cómo llamo a las funciones definidas en el archivo abc.R en otro archivo, digamos xyz.R?
Una pregunta complementaria es, ¿cómo llamo a las funciones definidas en abc.R desde la línea de comandos / indicador de R?
Respuestas:
Puede llamar source("abc.R")
seguido de source("xyz.R")
(asumiendo que ambos archivos están en su directorio de trabajo actual.
Si abc.R es:
fooABC <- function(x) {
k <- x+1
return(k)
}
y xyz.R es:
fooXYZ <- function(x) {
k <- fooABC(x)+1
return(k)
}
entonces esto funcionará:
> source("abc.R")
> source("xyz.R")
> fooXYZ(3)
[1] 5
>
Incluso si hay dependencias cíclicas, esto funcionará.
Por ejemplo, si abc.R es este:
fooABC <- function(x) {
k <- barXYZ(x)+1
return(k)
}
barABC <- function(x){
k <- x+30
return(k)
}
y xyz.R es este:
fooXYZ <- function(x) {
k <- fooABC(x)+1
return(k)
}
barXYZ <- function(x){
k <- barABC(x)+20
return(k)
}
luego,
> source("abc.R")
> source("xyz.R")
> fooXYZ(3)
[1] 55
>
source
un archivo / función una vez. Entonces está en su espacio de trabajo y puede usarlo en cualquier momento. Si lo cambia, debe volver a obtenerlo. Si sus funciones están cambiando mucho desde que está convirtiendo el código, colóquelas todas en un archivo y solo obtenga la fuente completa cada vez. También podría tener un archivo más pequeño separado que 1. obtenga la colección más grande de funciones y 2. Ejecute sus casos de prueba. En R hay muchas formas de organizar su flujo de trabajo.