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


R dump R 對象的文本表示

R語言 dump 位於 base 包(package)。

說明

該函數采用名稱向量R對象並生成文件或連接上對象的文本表示。 Adump文件通常可以是sourced 進入另一個R會議。

用法

dump(list, file = "dumpdata.R", append = FALSE,
     control = "all", envir = parent.frame(), evaluate = TRUE)

參數

list

特征向量(或NULL)。的名字R要傾倒的物體。

file

命名文件的字符串或 connection""表示輸出到控製台。

append

如果TRUEfile是字符串,則輸出將附加到file;否則,它將覆蓋 file 的內容。

control

指示解析選項的字符向量(或 NULL )。有關其說明,請參閱.deparseOpts

envir

搜索對象的環境。

evaluate

合乎邏輯的。承諾是否應該被評估?

細節

如果某些指定的對象不存在(在範圍內),則它們將被省略,並帶有警告。如果 file 是一個文件並且不存在任何對象,則不會創建文件。

source ing 可能不會生成 dump ed 對象的相同副本。如果可能出現問題,例如在轉儲奇異或複雜對象時(請參閱注釋),則會發出警告。

如果寫入文件的字符少於預期,dump 也會發出警告,這可能表明文件係統已滿或損壞。

A dump文件可以是sourced 進入另一個R(或者也許是S)會話,但是函數savesaveRDS設計用於運輸R數據,並將與R對象dump不處理。為了獲得最大的重複性使用control = "exact".

要生成更易讀的對象表示,請使用 control = NULL 。這將跳過屬性,並進行其他簡化,使 source 不太可能生成相同的副本。有關詳細信息,請參閱.deparseOpts

要解析函數的內部表示而不是顯示保存的源,請使用control = c("keepInteger", "warnIncomplete", "keepNA")。這將丟失所有格式和注釋,但在保存的源不再正確的情況下可能有用。

用戶通常隻會在延遲加載時(當默認的 evaluate = TRUE 必不可少時)以及在使用 delayedAssign 之後(當可能需要 evaluate = FALSE 時)才會遇到 Promise。

包含轉儲對象名稱的不可見字符向量。

注意

由於 dump 是在基本命名空間中定義的,因此將在全局環境之前搜索 base 包,除非從頂級提示符調用 dump 或顯式給出 envir 參數。

為了避免源屬性與實際函數定義不同步的風險,函數的源屬性永遠不會被轉儲為屬性。

當前環境、外部指針、弱引用和 S4 類型的對象不會以 source d 的方式進行解析。此外,無論 control 的值如何,language objects 都會以簡單的方式進行解析,這包括不轉儲它們的屬性(這將導致警告)。

例子

x <- 1; y <- 1:10
fil <- tempfile(fileext=".Rdmped")
dump(ls(pattern = '^[xyz]'), fil)
print(.Last.value)
unlink(fil)

參考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

也可以看看

.deparseOpts 用於可用的 control 設置; dput()dget()deparse() 用於使用相同內部解析函數的相關函數。

writewrite.table 等用於 “dumping” 數據到(文本)文件。

savesaveRDS更可靠的保存方式R對象。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Text Representations of R Objects。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。