13 votes

Chemins relatifs des paquets dans R

J'ai écrit quelques fonctions pour un paquet qui utilisent des chemins relatifs comme :

"./data/foobar.rds"

Voici un exemple de fonction :

foo <- function(x) { 
x <- readRDS("./data/bar.rds")
return(x)
}

Maintenant, si je travaille dans le chemin de développement du paquet, cela fonctionne comme prévu. Mais lorsque je charge le paquet, ce chemin utilise le répertoire de travail actuel plutôt que le chemin relatif du paquet.

Comment faire pour que le chemin des fonctions à l'intérieur d'un paquet conserve son chemin relatif à l'intérieur du paquet ?

4voto

Josh O'Brien Points 68397

Comme le note Andrie, vous pouvez utiliser system.file qui "trouve le nom complet des fichiers dans les paquets, etc.".

x <- readRDS(system.file("help", "aliases.rds", package="MASS"))

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