Cette question peut-être surprendra certains, mais, après avoir travaillé avec R durant des années, il reste un point que je ne comprends pas bien, faute de m'y avoir penché dessus en détail. Il s'agit de la gestion des fichiers .RData qui contiennent sur le disque les objets R.
Au lancement d'une session R, un fichier .RData est chargé. Ce fichier se trouve à l'endroit pointé par la sortie de:
Code : Tout sélectionner
Sys.getenv("HOME")
So far, so good.
Dans ce fichier .RData (dans mon cas), j'ai une fonction .First() qui va à un autre endroit sur le disque et qui fait un load() sur l'autre fichier .RData qui s'y trouve (avec l'argument envir = globalenv()) pour récupérer mes objets "de base", mes fonctions les plus utilisées, etc.
Maintenant, je développe des projets différents, qui correspondent à des directories différentes sur mon disque, et j'y sauve mes objets specifiques à ces projets dans autant de fichiers .RData dans ces directories différentes.
Je voudrais que ces différents fichiers .RData contiennent les objets spécifiques à ces projets différents, que je puisse alors les loader lorsque je me mets à travailler sur chacun de ces projets, et qu'il s'ajoutent aux objets de base qui sont dans mon environnement général dont je parle ci-dessus (par exemple en double-cliquant sur ces fichiers pour lancer R ; je suis sous Windows). Ce n'est pas ce qui se passe. Tout se passe comme si l'ensemble des objets de tous les projets sont dans le fichier .RData dans le répertoire pointé par :
Code : Tout sélectionner
Sys.getenv("HOME")
En d'autres termes, si je lance R directement, je récupère tous les objets de tous les projets, ce qui - après pas mal d'années - devient assez lourd (et prends, par exemple, du temps au lancement de R) et guère pratique.
De toute évidence, j'ai loupé quelque chose ici, et je ne trouve aucun aide sur ce point sur le web.
Toute aide est la bienvenue à cet égard.
Cordialement, Eric.