115 votes

Définissez toutes les fonctions dans un fichier .R, appelez-les depuis un autre fichier .R. Comment, si possible ?

Comment appeler les fonctions définies dans le fichier abc.R dans un autre fichier, disons xyz.R ?

Une question supplémentaire est la suivante : comment puis-je appeler les fonctions définies dans abc.R à partir de l'invite/ligne de commande R ?

168voto

A_K Points 2411

Vous pouvez appeler source("abc.R") suivi par source("xyz.R") (en supposant que ces deux fichiers se trouvent dans votre répertoire de travail actuel.

Si abc.R est :

fooABC <- function(x) {
    k <- x+1
    return(k)
}

et xyz.R est :

fooXYZ <- function(x) {
    k <- fooABC(x)+1
    return(k)
}

alors cela fonctionnera :

> source("abc.R")
> source("xyz.R")
> fooXYZ(3)
[1] 5
> 

Même s'il existe des dépendances cycliques, cela fonctionnera.

Par exemple, si abc.R est ceci :

fooABC <- function(x) {
    k <- barXYZ(x)+1
    return(k)
}

barABC <- function(x){
    k <- x+30
    return(k)
}

et xyz.R est ceci :

fooXYZ <- function(x) {
    k <- fooABC(x)+1
    return(k)
}

barXYZ <- function(x){
    k <- barABC(x)+20
    return(k)
}

alors,

> source("abc.R")
> source("xyz.R")
> fooXYZ(3) 
[1] 55
>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X