當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。