[R] detecting the sourcing of site profile on Startup versus post-Startup

Duncan Murdoch murdoch.duncan at gmail.com
Wed Apr 23 12:55:54 CEST 2014


On 22/04/2014, 8:59 PM, Benjamin Tyner wrote:
> Greetings,
>
> Is there any way to programmatically detect whether a piece of code is
> being run within the initial (Startup) sourcing of the site profile?
>
> For example, say I have a site profile, "/path/to/Rprofile.site". Is
> there any function "my_func" which would return different values for
> these two instances:
>
>     Rscript --no-site-profile --no-init-profile -e
> "sys.source('/path/to/Rprofile.site', envir = .BaseNamespaceEnv); my_func()"
>
> versus:
>
>     export R_PROFILE=/path/to/Rprofile.site
>     Rscript --no-init-profile -e "my_func()"
>

The commandArgs() function could see the different command lines and 
your function could deduce the difference from that.

As far as I know, R keeps no other records of the startup process, but 
if you can modify other files, you could leave a record when .First was 
run, and see that it was run before Rprofile.site in the first case. 
See ?Startup.

Duncan Murdoch




More information about the R-help mailing list