sys.source
Parse and Evaluate Expressions from a File
Parses expressions in the given file, and then successively evaluates them in the specified environment.
Usage
sys.source(file, envir = baseenv(), chdir = FALSE, keep.source = getOption("keep.source.pkgs"))
Arguments
- file
- a character string naming the file to be read from
- envir
- an R object specifying the environment in which the
expressions are to be evaluated. May also be a list or an integer.
The default value
NULL
corresponds to evaluation in the base environment. This is probably not what you want; you should typically supply an explicitenvir
argument. - chdir
- logical; if
TRUE
, the R working directory is changed to the directory containingfile
for evaluating. - keep.source
- logical. If
TRUE
, functions keep their source including comments, seeoptions(keep.source = *)
for more details.
Details
For large files, keep.source = FALSE
may save quite a bit of
memory.
In order for the code being evaluated to use the correct environment
(for example, in global assignments), source code in packages should
call topenv()
, which will return the namespace, if any,
the environment set up by sys.source
, or the global environment
if a saved image is being used.
See Also
Examples
library(base)
## a simple way to put some objects in an environment
## high on the search path
tmp <- tempfile()
writeLines("aaa <- pi", tmp)
env <- attach(NULL, name = "myenv")
sys.source(tmp, env)
unlink(tmp)
search()
aaa
detach("myenv")
Community examples
Looks like there are no examples yet.