Comment faire pour que R reconnaisse votre répertoire de travail comme son répertoire de travail?

j'utilise R sous Windows sur plusieurs machines.

je sais que vous pouvez définir le répertoire de travail à partir de l'intérieur d'un script R, comme ceci

setwd("C:/Documents and Settings/username/My Documents/x/y/z")

... mais cela brise la portabilité du script. C'est aussi ennuyeux de devoir inverser toutes les barres obliques (puisque Windows vous donne des barres obliques)

y a-t-il un moyen de démarrer R dans un répertoire de travail particulier pour que vous n'ayez pas besoin de faire cela au niveau du script?

22
demandé sur Bill the Lizard 2009-09-08 21:42:57

9 réponses

vous devez copier le raccourci vers R (fichier r. lnk) pour le dossier desire. Puis, dans" Propriétés "(bouton droit de la souris -> dernière option), supprimez tout ce qui se trouve dans le champ " Démarrer..."dans le deuxième onglet ("Raccourci"?). Si vous commencez R avec ce raccourci répertoire de travail sera celui où le raccourci est.

Je n'ai pas la version anglaise de Windows donc je ne suis pas sûr des noms de champs, mais ils devraient être faciles à trouver.

des questions similaires ont été posées dans R-windows-faq:

2,5 Comment puis-je le faire fonctionner?

2.10 Comment puis-je conserver des espaces de travail pour différents projets dans différents répertoires?

2.14 qu'est-ce qu'un répertoire personnel?

Dans 2.14 est mentionné que

le répertoire de travail est le répertoire à partir duquel Rgui ou Rterm a été lancé, à moins qu'un raccourci n'ait été utilisé lorsqu'il est indiqué par le champ `Start in' des propriétés du raccourci.

15
répondu Marek 2009-09-09 06:44:50

vous pouvez utiliser une variable environnementale. Cela peut fonctionner avec Sys.getenv() et Sys.setenv(). Par exemple:

> Sys.setenv(R_TEST="testit")
> Sys.getenv("R_TEST")
  R_TEST 
"testit" 

si vous avez envoyé la variable dans votre script, vous devriez pouvoir y accéder de l'intérieur, puis appeler setwd() sur cette sortie.

6
répondu Shane 2012-01-16 23:56:14

Sauvegardez votre espace de travail dans le répertoire désiré et ouvrez L'espace de travail à partir de Windows explorer.

5
répondu Rob Hyndman 2009-09-08 22:09:06

j'ai mis la ligne suivante devant mes scripts et cela me permet de travailler à travers mes ordinateurs.

setwd(path.expand("~/path/to/working/directory/") )

où ~ is = vers votre répertoire personnel.

Sys.setenv(HOME = "path") ou Sys.setenv(R_USER = "path") peut à la fois définir le répertoire d'accueil.

dans mon cas, je travaille sur plusieurs boites windows, chacune ayant des structures de répertoires assez différentes, mais en définissant correctement le répertoire d'origine, je peux synchroniser le code entre les ordinateurs et les faire fonctionner correctement sur chacune d'elles depuis où j'exécute mes projets R ont des structures de répertoires similaires.

4
répondu Robert 2014-10-16 21:51:51

si vous utilisez Emacs / ESS, ce n'est pas un problème. Je me dirige vers le répertoire où se trouve mon script R, Je l'ouvre, puis je lance un processus de recherche. Une console R apparaît avec le répertoire courant comme répertoire de travail de R.

si vous n'avez pas converti en Emacs / ESS, je vous le recommande. (Bien que pour prévenir une guerre des flammes, je note également qu'il existe des options similaires pour les utilisateurs de Vi.)

J'espère que ça aidera.

3
répondu Christopher DuBois 2009-09-08 17:57:49

juste un détail: au lieu d'inverser les barres obliques comme vous le dites, ajoutez simplement un autre antislash. Deux de ces \\ fonctionne de la même façon que l'un de ces /. Que fait-il au moins un peu plus facile.

3
répondu Ehva 2009-09-08 22:58:36

Pour Ubuntu:

Insérez la commande suivante dans votre .Rprofile fichier (généralement dans votre répertoire home):

setwd(Sys.getenv("PWD"))

maintenant votre répertoire de travail par défaut sera n'importe quel répertoire à partir duquel vous avez lancé R. Gardez à l'esprit que vous pouvez également configurer des espaces de travail par défaut dans différents répertoires en enregistrant votre image d'espace de travail comme .RData partout où vous prévoyez de lancer R (sources de démarrage .Rprofile avant de chercher .Rdata dans le cwd).

1
répondu Brian Mack 2013-02-05 18:36:48

pour définir le répertoire de travail R comme le répertoire courant du script R que je travaille, j'utilise toujours une combinaison des commandes getwd() et setwd(), comme ceci:

path <- getwd() setwd(path)

ou

setwd(getwd())

Si vous souhaitez en apprendre plus à ce sujet, voir ce article.

Cheers,

[]

0
répondu 2015-08-20 19:20:33

mettez un raccourci pour L'interface graphique R dans le répertoire désiré. Droit-cliquez et regardez les propriétés de raccourci. Supprimez l'entrée pour "démarrer" et cliquez sur OK. Lorsque vous lancez L'interface graphique R à partir de ce raccourci, le répertoire par défaut sera le répertoire à partir duquel vous avez lancé. Copiez / collez ce raccourci où vous le souhaitez.

-1
répondu Thumperska 2010-03-12 12:04:44