On Sat, Oct 6, 2018 at 12:40 PM Ista Zahn <istaz...@gmail.com> wrote:
>
> Hi Olivier,
>
> Sorry for misspelling your name! Please see inline below.
>
> On Sat, Oct 6, 2018 at 9:58 AM Olivier GIVAUDAN
> <olivier_givau...@hotmail.com> wrote:
> >
> > Hi Ista,
> >
> > Thank you for your reply.
> >
> > My motivation is described at the 3rd line of my initial message:
> > "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."
> >
> > The main point is simply to avoid any hardcoded path in my R scripts, as 
> > you wrote in your examples.
>
> My claim is that you cannot avoid hardcoding paths. Even if the
> feature you requested existed, you would still have to do e.g.,
>
> source("/path/to/dir/file.R")
>
> That is just as much hard-coded as the (only slightly more verbose)
>
> cd("/path/to/dir")
> source("file.R")
>
> So, I'm afraid I still don't get it. What is it that you actually want
> to do that you currently cannot?

I should have added that my assumption is that you will call

setwd("/path/to/dir")
source("file.R")

interactively, not that you will hard-code this in your script.

Best,
Ista
>
> Best,
> Ista
> >
> > BTW I don't use R with command line, only within RStudio or with the 
> > default GUI.
> >
> > Best regards,
> >
> > Olivier (and not Oliver )
> > ________________________________
> > De : Ista Zahn <istaz...@gmail.com>
> > Envoyé : samedi 6 octobre 2018 12:56
> > À : olivier_givau...@hotmail.com
> > Cc : r-help@r-project.org
> > Objet : Re: [R] Genuine relative paths with R
> >
> > Hi Oliver,
> >
> > Interesting question. Can you describe your motivation in a little
> > more detail? That is, why do you what this feature? I ask because to
> > my way of thinking you have to know the path to the script in order to
> > call it in the first place. If calling from R, is
> >
> > setwd("/path/to/dir")
> > source("file.R")
> >
> > really so much worse than
> >
> > source("path/to/dir/file.R")
> >
> > ?  If it is worse, why?
> >
> > Similarly if calling from a shell, is
> >
> > cd /path/to/dir
> > Rscript file.R
> >
> > really so much worse than
> >
> > Rscript /path/to/dir/file.R
> >
> > ? Again, if is worse, why?
> >
> > Best,
> > Ista
> > On Sat, Oct 6, 2018 at 8:25 AM Olivier GIVAUDAN
> > <olivier_givau...@hotmail.com> wrote:
> > >
> > > 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]]
> > >
> > > ______________________________________________
> > > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > > https://stat.ethz.ch/mailman/listinfo/r-help
> > > PLEASE do read the posting guide 
> > > http://www.R-project.org/posting-guide.html
> > > and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to