[R] possibility to determine whether a script is "sourced"?

Jannis bt_jannis at yahoo.de
Wed Jun 23 20:05:14 CEST 2010


Cheers Chuck and Greg for your help!

only Chucks solution though worked for my problem, for Gregs solution I would have had to start R in interactive mode which I do not do as I start the scripts still from an interactive GUI.

Thanks a lot!
Jannis

--- Charles C. Berry <cberry at tajo.ucsd.edu> schrieb am Mi, 23.6.2010:

> Von: Charles C. Berry <cberry at tajo.ucsd.edu>
> Betreff: Re: [R] possibility to determine whether a script is "sourced"?
> An: "Jannis" <bt_jannis at yahoo.de>
> CC: r-help at r-project.org
> Datum: Mittwoch, 23. Juni, 2010 17:37 Uhr
> 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
> 
> 
> 





More information about the R-help mailing list