[R] Genuine relative paths with R

Olivier GIVAUDAN
Sat, 06 Oct 2018 11:48:44 -0000

Dear R users,

I would like to work with genuine relative paths in R for obvious reasons: if I
move all my scripts related to some project as a whole to another location of my
computer or someone else's computer, if want my scripts to continue to run
seamlessly.

What I mean by "genuine" is that it should not be necessary to
hardcode one single absolute path (making the code obviously not
"portable" - to another place - anymore).

For the time being, I found the following related posts, unfortunately never
conclusive or even somewhat off-topic:
https://stackoverflow.com/questions/1815606/rscript-determine-path-of-the-executing-script
https://stackoverflow.com/questions/47044068/get-the-path-of-current-script/47045368
http://r.789695.n4.nabble.com/Script-auto-detecting-its-own-path-td2719676.html

So I found 2 workarounds, more or less satisfactory:


  1.  Either create a variable "ScriptPath" in the first lines of each
of my R scripts and run a batch (or shell, etc.) to replace every single
occurrence of "ScriptPath <-" by "ScriptPath <- [Absolute
path of the R script]" in all the R scripts located in the folder (and
possibly subfolders) of the batch file.
  2.  Or create an R project file with RStudio and use the package
"here" to get the absolute path of the R project file and put all the
R scripts related to this project in the R project directory, as often
recommended.

But I am really wondering why R doesn't have (please tell me if I'm
wrong) this basic feature as many other languages have it (batch, shell, C,
LaTeX, SAS with macro-variables, etc.)?
Do you know whether the language will have this kind of function in a near
future? What are the obstacles / what is the reasoning for not having it
already?

Do you know other workarounds?

Best regards,

Olivier

	[[alternative HTML version deleted]]