Dear R community, I am running some rather large scripts either by executing single blocks of them separately or by executing them at once via source('script.R') Now there is a lot of code in those scripts that I only want to run when I run them manually, so I wonder whether there is any way to automatically find out whether the script is run manually stepwise or whether it is run via source. Is there such a possibility? Thanks a lot for your help! Jannis
Greg Snow
2010-Jun-23 17:31 UTC
[R] possibility to determine whether a script is "sourced"?
Look at the "interactive" function, it may do what you want. -- Gregory (Greg) L. Snow Ph.D. Statistical Data Center Intermountain Healthcare greg.snow at imail.org 801.408.8111> -----Original Message----- > From: r-help-bounces at r-project.org [mailto:r-help-bounces at r- > project.org] On Behalf Of Jannis > Sent: Wednesday, June 23, 2010 10:07 AM > To: r-help at r-project.org > Subject: [R] possibility to determine whether a script is "sourced"? > > Dear R community, > > > I am running some rather large scripts either by executing single > blocks of them separately or by executing them at once via > > source('script.R') > > Now there is a lot of code in those scripts that I only want to run > when I run them manually, so I wonder whether there is any way to > automatically find out whether the script is run manually stepwise or > whether it is run via source. Is there such a possibility? > > Thanks a lot for your help! > Jannis > > > > ______________________________________________ > R-help at r-project.org mailing list > 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.
Charles C. Berry
2010-Jun-23 17:37 UTC
[R] possibility to determine whether a script is "sourced"?
On Wed, 23 Jun 2010, Jannis wrote:> Dear R community, > > > I am running some rather large scripts either by executing single blocks of them separately or by executing them at once via > > source('script.R') > > Now there is a lot of code in those scripts that I only want to run when > I run them manually, so I wonder whether there is any way to > automatically find out whether the script is run manually stepwise or > whether it is run via source. Is there such a possibility?Yes. You can set a flag at the start of your 'script.R' Try this> cat("sc <- sys.calls()",file="stest.R") > source("stest.R") > print( sc )[[1]] source("stest.R") [[2]] eval.with.vis(ei, envir) [[3]] eval.with.vis(expr, envir, enclos)> sc <- sys.calls() # run the code interactively > print( sc )NULL>See ?sys.calls ?is.null HTH, Chuck> > Thanks a lot for your help! > Jannis > > > > ______________________________________________ > R-help at r-project.org mailing list > 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. >Charles C. Berry (858) 534-2098 Dept of Family/Preventive Medicine E mailto:cberry at tajo.ucsd.edu UC San Diego http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901