Yes, I am aware that both '__FILE__' and 'SAS_EXECFILENAME' are macro variables. I don't know how the VBA 'Application.ThisWorkbook.Path' VBA or PHP '__DIR__' (or '__FILE__') work. And yes, indeed, until now I didn't even realise that this simple find-and-replace solution of "mine" is actually the basic job of a preprocessor when it expands macro variables, thank you! A macro language in R, yes, I think it would be useful, at least for this function. If nothing simpler is available, of course... ________________________________ De : Peter Claussen <dakotajudo at mac.com> Envoy? : mercredi 10 octobre 2018 23:29 ? : Olivier GIVAUDAN Cc : Duncan Murdoch; Jeff Newmiller; r-help at r-project.org Objet : Re: [R] Genuine relative paths with R If I?m following all this correctly, it seems your criticism is that R doesn?t provide a run-time function that is equivalent to a compile-time macro. You do realize that __FILE__ is not part of the C programming language - it?s a predefined variable recognized by the cpp - the C preprocessor program. Similarly, SAS_EXECFILENAME is a predefined variable that can be recognized by the SAS macro processor, but has no meaning in the SAS language itself. So, to go back to your original post: 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. This is what a macro processor does. Are you asking for a macro language in R? Cheers On Oct 10, 2018, at 6:11 PM, Olivier GIVAUDAN <olivier_givaudan at hotmail.com<mailto:olivier_givaudan at hotmail.com>> wrote: It is not wrong to claim that R currently doesn't have a function returning the path of the R file where this same function was invoked. 'getwd()' is indeed not equivalent to VBA 'Application.ThisWorkbook.Path' or C macro '__FILE__' or SAS %sysget(SAS_EXECFILENAME), etc. [[alternative HTML version deleted]]
Hiya, I have lost track of half the discussion so forgive me if that suggestion has been made before, but would it be suitable to wrap your code in a shiny app and disseminate it this way? Kind regards, Katharina. -- Dr Katharina Fritsch B.Sc. M.Sc. MRSC Chemical Modeller, Chemical and Process Modelling E. katharina.fritsch at nnl.co.uk T. +44 (0)1925 289387 @uknnl National Nuclear Laboratory Limited, 5th Floor, Chadwick House, Birchwood Park, Warrington, WA3 6AE, UK www.nnl.co.uk -----Original Message----- From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Olivier GIVAUDAN Sent: 11 October 2018 00:54 To: Peter Claussen Cc: r-help at r-project.org Subject: Re: [R] Genuine relative paths with R Yes, I am aware that both '__FILE__' and 'SAS_EXECFILENAME' are macro variables. I don't know how the VBA 'Application.ThisWorkbook.Path' VBA or PHP '__DIR__' (or '__FILE__') work. And yes, indeed, until now I didn't even realise that this simple find-and-replace solution of "mine" is actually the basic job of a preprocessor when it expands macro variables, thank you! A macro language in R, yes, I think it would be useful, at least for this function. If nothing simpler is available, of course... ________________________________ De : Peter Claussen <dakotajudo at mac.com> Envoy : mercredi 10 octobre 2018 23:29 : Olivier GIVAUDAN Cc : Duncan Murdoch; Jeff Newmiller; r-help at r-project.org Objet : Re: [R] Genuine relative paths with R If I m following all this correctly, it seems your criticism is that R doesn t provide a run-time function that is equivalent to a compile-time macro. You do realize that __FILE__ is not part of the C programming language - it s a predefined variable recognized by the cpp - the C preprocessor program. Similarly, SAS_EXECFILENAME is a predefined variable that can be recognized by the SAS macro processor, but has no meaning in the SAS language itself. So, to go back to your original post: 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. This is what a macro processor does. Are you asking for a macro language in R? Cheers On Oct 10, 2018, at 6:11 PM, Olivier GIVAUDAN <olivier_givaudan at hotmail.com<mailto:olivier_givaudan at hotmail.com>> wrote: It is not wrong to claim that R currently doesn't have a function returning the path of the R file where this same function was invoked. 'getwd()' is indeed not equivalent to VBA 'Application.ThisWorkbook.Path' or C macro '__FILE__' or SAS %sysget(SAS_EXECFILENAME), etc. [[alternative HTML version deleted]] This e-mail is from National Nuclear Laboratory Limited ("NNL"). This e-mail and any attachments are intended for the addressee and may also be legally privileged. If you are not the intended recipient please do not print, re-transmit, store or act in reliance on it or any attachments. Instead, please e-mail it back to the sender and then immediately permanently delete it. National Nuclear Laboratory Limited (Company number 3857752) Registered in England and Wales. Registered office: Chadwick House, Warrington Road, Birchwood Park, Warrington, WA3 6AE.
Hi Katharina, Apologies for the late reply. Thank you for your proposal which was not made yet. That's actually a Shiny app which I am working on. The problem is that the data are confidential: except when I share the R codes and data (via a marvelous secured SharePoint system...), the data should stay local. When looking at [1], it seems inevitable that the data are published to a third-party server, which I want to avoid. But I will look into it more closely, esp. whether it is possible to segregate the sharing of R codes / Shiny app (to the server, no problem) and data (only local). Best regards, Olivier ?[1] https://shiny.rstudio.com/articles/deployment-local.html ________________________________ De : Fritsch, Katharina (NNL) <Katharina.Fritsch at nnl.co.uk> Envoy? : jeudi 11 octobre 2018 08:22 ? : Olivier GIVAUDAN; Peter Claussen Cc : r-help at r-project.org Objet : RE: [R] Genuine relative paths with R Hiya, I have lost track of half the discussion so forgive me if that suggestion has been made before, but would it be suitable to wrap your code in a shiny app and disseminate it this way? Kind regards, Katharina. -- Dr Katharina Fritsch B.Sc. M.Sc. MRSC Chemical Modeller, Chemical and Process Modelling E. katharina.fritsch at nnl.co.uk T. +44 (0)1925 289387 @uknnl National Nuclear Laboratory Limited, 5th Floor, Chadwick House, Birchwood Park, Warrington, WA3 6AE, UK www.nnl.co.uk<http://www.nnl.co.uk> -----Original Message----- From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Olivier GIVAUDAN Sent: 11 October 2018 00:54 To: Peter Claussen Cc: r-help at r-project.org Subject: Re: [R] Genuine relative paths with R Yes, I am aware that both '__FILE__' and 'SAS_EXECFILENAME' are macro variables. I don't know how the VBA 'Application.ThisWorkbook.Path' VBA or PHP '__DIR__' (or '__FILE__') work. And yes, indeed, until now I didn't even realise that this simple find-and-replace solution of "mine" is actually the basic job of a preprocessor when it expands macro variables, thank you! A macro language in R, yes, I think it would be useful, at least for this function. If nothing simpler is available, of course... ________________________________ De : Peter Claussen <dakotajudo at mac.com> Envoy : mercredi 10 octobre 2018 23:29 : Olivier GIVAUDAN Cc : Duncan Murdoch; Jeff Newmiller; r-help at r-project.org Objet : Re: [R] Genuine relative paths with R If I m following all this correctly, it seems your criticism is that R doesn t provide a run-time function that is equivalent to a compile-time macro. You do realize that __FILE__ is not part of the C programming language - it s a predefined variable recognized by the cpp - the C preprocessor program. Similarly, SAS_EXECFILENAME is a predefined variable that can be recognized by the SAS macro processor, but has no meaning in the SAS language itself. So, to go back to your original post: 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. This is what a macro processor does. Are you asking for a macro language in R? Cheers On Oct 10, 2018, at 6:11 PM, Olivier GIVAUDAN <olivier_givaudan at hotmail.com<mailto:olivier_givaudan at hotmail.com>> wrote: It is not wrong to claim that R currently doesn't have a function returning the path of the R file where this same function was invoked. 'getwd()' is indeed not equivalent to VBA 'Application.ThisWorkbook.Path' or C macro '__FILE__' or SAS %sysget(SAS_EXECFILENAME), etc. [[alternative HTML version deleted]] This e-mail is from National Nuclear Laboratory Limited ("NNL"). This e-mail and any attachments are intended for the addressee and may also be legally privileged. If you are not the intended recipient please do not print, re-transmit, store or act in reliance on it or any attachments. Instead, please e-mail it back to the sender and then immediately permanently delete it. National Nuclear Laboratory Limited (Company number 3857752) Registered in England and Wales. Registered office: Chadwick House, Warrington Road, Birchwood Park, Warrington, WA3 6AE. [[alternative HTML version deleted]]