Come posso chiamare le funzioni definite nel file abc.R in un altro file, ad esempio xyz.R?
Una domanda supplementare è: come posso chiamare le funzioni definite in abc.R dal prompt R / dalla riga di comando?
Risposte:
Puoi chiamare source("abc.R")
seguito da source("xyz.R")
(assumendo che entrambi questi file si trovino nella tua directory di lavoro corrente.
Se abc.R è:
fooABC <- function(x) {
k <- x+1
return(k)
}
e xyz.R è:
fooXYZ <- function(x) {
k <- fooABC(x)+1
return(k)
}
allora questo funzionerà:
> source("abc.R")
> source("xyz.R")
> fooXYZ(3)
[1] 5
>
Anche se ci sono dipendenze cicliche, funzionerà.
Ad esempio, se abc.R è questo:
fooABC <- function(x) {
k <- barXYZ(x)+1
return(k)
}
barABC <- function(x){
k <- x+30
return(k)
}
e xyz.R è questo:
fooXYZ <- function(x) {
k <- fooABC(x)+1
return(k)
}
barXYZ <- function(x){
k <- barABC(x)+20
return(k)
}
poi,
> source("abc.R")
> source("xyz.R")
> fooXYZ(3)
[1] 55
>
source
un file / funzione una volta. Quindi è nel tuo spazio di lavoro e puoi usarlo in qualsiasi momento. Se lo modifichi, devi reimpostarlo. Se le tue funzioni stanno cambiando molto da quando stai convertendo il codice, mettile tutte in un unico file e procurati semplicemente tutto ogni volta. Si potrebbe anche avere un file più piccolo separato che 1. fornisce la raccolta più ampia di funzioni e 2. esegue i test case. In R ci sono molti modi per organizzare il flusso di lavoro.