Importation de fonctions et de variables R [dupliquer]

Nov 19 2020

J'utilise un package de github et les fonctions qu'il contient ne sont pas ... connectées. Le fichier principal a une fonction, mais pour que cette fonction fonctionne, je dois exécuter 4 fichiers différents (3 fichiers ont beaucoup de fonctions et 1 a une classe). Avons-nous une option pour importer des scripts entiers (avec toutes les fonctions, classes, variables) au-dessus de mon fichier principal afin qu'ils apparaissent dans mon environnement?

par exemple dans le fichier "foo.R" j'ai une fonction "food = function (...)" donc je fais smth comme

from foo.R import food

result <- 2*food(a,b,c)

ou

from foo.R import *
result <- 2*foo.food(a,b,c)

comme en python?

Réponses

1 ÁlvaroA.Gutiérrez-Vargas Nov 19 2020 at 02:29

Je pense que vous devriez jeter un oeil à la combinaison de here+ source. En gros, ce que vous pouvez faire est ce qui suit:

library(here)
source(here::here('R', 'file_that_contains_a_lot_of_functions.R'))

De cette façon, vous obtiendrez toutes les fonctions de file_that_contains_a_lot_of_functions.Rla GlobalEnviromentrendre facile à travailler avec elles.

PS1: ce qui 'R'précède est dû au fait que je suppose que vous avez téléchargé un miroir de la bibliothèque à partir de Github et que vous prenez les fonctions du Rdossier.

PS2: il a également supposé que vous génériez un projet au niveau du dossier principal du package. Ce que je fais également est de générer un dossier supplémentaire dans my_folderlequel je stocke tout ce que je crée pour ne pas perturber le flux de travail du package d'origine.

alex_danielssen Nov 19 2020 at 02:26

utilisez la commande source () et insérez le fichier à exécuter - vous aurez alors accès à tous les objets qu'il contient.

source ("chemin / vers / votre / fichier.R")