[R] detecting the sourcing of site profile on Startup versus post-Startup
Benjamin Tyner
btyner at gmail.com
Thu Apr 24 03:11:09 CEST 2014
Thanks Duncan! Yes, I considered taking advantage of .First, but was
concerned that the .First defined by the site profile could be masked by a
possible .First defined by the user profile (I neglected to mention that
"--no-init-profile" [sic] in the example I gave was a simplifying
assumption, sorry about that).
On 04/23/2014 06:55 AM, Duncan Murdoch wrote:
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