当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R sys.source 解析和评估文件中的表达式


R语言 sys.source 位于 base 包(package)。

说明

解析给定文件中的表达式,然后在指定环境中连续计算它们。

用法

sys.source(file, envir = baseenv(), chdir = FALSE,
           keep.source = getOption("keep.source.pkgs"),
           keep.parse.data = getOption("keep.parse.data.pkgs"),
           toplevel.env = as.environment(envir))

参数

file

命名要读取的文件的字符串

envir

一个R对象指定要在其中计算表达式的环境。也可以是列表或整数。默认baseenv()对应于基础环境中的评估。这可能不是您想要的;你通常应该提供一个明确的envir参数,见‘注’。

chdir

逻辑性;如果TRUE, 这R工作目录更改为包含的目录file用于评估。

keep.source

合乎逻辑的。如果TRUE,函数保留其源代码(包括注释),请参阅options(keep.source = *) 了解更多详细信息。

keep.parse.data

合乎逻辑的。如果 TRUEkeep.source 也是 TRUE ,则函数将解析数据与其源一起保留,请参阅 options(keep.parse.data = *) 了解更多详细信息。

toplevel.env

一个R在评估表达式时用作顶层的环境。这个参数对于运行包测试的框架很有用;其他情况应使用默认值

细节

对于大文件,keep.source = FALSE 可能会节省相当多的内存。仅通过 keep.parse.data = FALSE 禁用解析数据已经可以节省很多。

关于 envir 的注释

为了使正在评估的代码使用正确的环境(例如,在全局分配中),包中的源代码应调用 topenv() ,这将返回命名空间(如果有)、由 sys.source 设置的环境,或者如果正在使用保存的图像,则为全局环境。

例子

## 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")

也可以看看

sourceloadNamespacelibrary(.) 调用并使用 sys.source(.)

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Parse and Evaluate Expressions from a File。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。