[R] Genuine relative paths with R
|uke-t|erney @end|ng |rom u|ow@@edu
Wed Oct 10 17:48:22 CEST 2018
If you are always running your main script as 'Rscript myscript.R'
then your file argument will appear as '--file=myscript.R' in
commandArgs(). So you can use something like
scriptFile <- function()
pat <- "^--file="
args <- commandArgs()
file <- args[grepl(pat, args, args)]
normalizePath(sub(pat, "", file))
Then scriptFile() will give you something to work with.
On Wed, 10 Oct 2018, Olivier GIVAUDAN wrote:
> Dear Eik,
> Thank you for your message.
> Yes, I already got to know this package and this discussion (while I found the 'here' package). But thanks.
> Best regards,
> De : Eik Vettorazzi <E.Vettorazzi using uke.de>
> Envoy??? : lundi 8 octobre 2018 11:30
> ??? : Olivier GIVAUDAN; r-help using r-project.org
> Objet : Re: [R] Genuine relative paths with R
> Dear Olivier,
> you may find the rprojroot package useful, see
> and a discussion
> Am 06.10.2018 um 13:48 schrieb Olivier GIVAUDAN:
>> 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:
>> 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,
>> [[alternative HTML version deleted]]
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
> Eik Vettorazzi
> Department of Medical Biometry and Epidemiology
> University Medical Center Hamburg-Eppendorf
> Martinistrasse 52
> building W 34
> 20246 Hamburg
> Phone: +49 (0) 40 7410 - 58243
> Fax: +49 (0) 40 7410 - 57790
> Web: www.uke.de/imbe<http://www.uke.de/imbe>
> Universit???tsklinikum Hamburg-Eppendorf; K???rperschaft des ???ffentlichen Rechts; Gerichtsstand: Hamburg | www.uke.de
> Vorstandsmitglieder: Prof. Dr. Burkhard G???ke (Vorsitzender), Prof. Dr. Dr. Uwe Koch-Gromus, Joachim Pr???l???, Martina Saurin (komm.)
> SAVE PAPER - THINK BEFORE PRINTING
> [[alternative HTML version deleted]]
Ralph E. Wareham Professor of Mathematical Sciences
University of Iowa Phone: 319-335-3386
Department of Statistics and Fax: 319-335-3017
241 Schaeffer Hall email: luke-tierney using uiowa.edu
Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu
More information about the R-help