dput
位於 base
包(package)。 說明
寫入 ASCII 文本表示形式R對象到文件,R控製台,或連接,或使用一個來重新創建對象。
用法
dput(x, file = "",
control = c("keepNA", "keepInteger", "niceNames", "showAttributes"))
dget(file, keep.source = FALSE)
參數
x |
一個東西。 |
file |
命名文件的字符串或 connection 。 |
control |
解析選項的字符向量(或 |
keep.source |
邏輯:如果可能的話,在解析函數時是否應該保留源格式? |
細節
dput
打開 file
並將對象 x
解析到該文件中。未寫入對象名稱(與 dump
不同)。如果 x
是一個函數,則關聯的環境將被刪除。因此,範圍信息可能會丟失。
解析一個對象是很困難的,而且並不總是可能的。使用默認的 control
, dput()
嘗試以可讀的方式進行解析,但對於更複雜或不尋常的對象(請參閱 dump
),不太可能被解析為與原始對象相同。使用control = "all"
進行最完整的解析;使用 control = NULL
進行最簡單的解析,甚至不包括屬性。
如果寫入文件的字符少於預期,dput
將發出警告,這可能表明文件係統已滿或損壞。
要顯示保存的源而不是解析內部表示,包括"useSource"
在control
.R目前僅保存函數定義的源代碼。如果您不關心源表示(例如,對於數據對象),則對於速度設置options(keep.source = FALSE
) 調用時source
.
值
對於 dput
,第一個參數不可見。
對於 dget
,創建的對象。
注意
這是不是之間傳輸對象的好方法R會議。dump
比較好,但是函數save
和saveRDS
設計用於運輸R數據,並將與R對象dput
不能正確處理並且速度更快。
為了避免源屬性與實際函數定義不同步的風險,函數的源屬性永遠不會被寫為屬性。
例子
fil <- tempfile()
## Write an ASCII version of the 'base' function mean() to our temp file, ..
dput(base::mean, fil)
## ... read it back into 'bar' and confirm it is the same
bar <- dget(fil)
stopifnot(all.equal(bar, base::mean, check.environment = FALSE))
## Create a function with comments
baz <- function(x) {
# Subtract from one
1-x
}
## and display it
dput(baz)
## and now display the saved source
dput(baz, control = "useSource")
## Numeric values:
xx <- pi^(1:3)
dput(xx)
dput(xx, control = "digits17")
dput(xx, control = "hexNumeric")
dput(xx, fil); dget(fil) - xx # slight rounding on all platforms
dput(xx, fil, control = "digits17")
dget(fil) - xx # slight rounding on some platforms
dput(xx, fil, control = "hexNumeric"); dget(fil) - xx
unlink(fil)
xn <- setNames(xx, paste0("pi^",1:3))
dput(xn) # nicer, now "niceNames" being part of default 'control'
dput(xn, control = "S_compat") # no names
## explicitly asking for output as in R < 3.5.0:
dput(xn, control = c("keepNA", "keepInteger", "showAttributes"))
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
相關用法
- R dump R 對象的文本表示
- R diag 矩陣對角線
- R deparse 表達式解析
- R deparseOpts 表達式解析選項
- R dots ...、..1 等在函數中使用
- R debug 調試函數
- R do.call 執行函數調用
- R dcf 以 DCF 格式讀寫數據
- R data.class 對象類
- R dimnames 對象的暗名稱
- R dyn.load 對外函數接口
- R diff 滯後差異
- R duplicated 確定重複元素
- R dim 物體的尺寸
- R dontCheck 抑製檢查的身份函數
- R drop 刪除冗餘盤區信息
- R delayedAssign 延遲評估和承諾
- R difftime 時間間隔/差異
- R det 計算矩陣的行列式
- R detach 從搜索路徑中分離對象
- R data.frame DataFrame
- R double 雙精度向量
- R data.matrix 將 DataFrame 轉換為數字矩陣
- R date 係統日期和時間
- R droplevels 刪除因子中未使用的級別
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Write an Object to a File or Recreate it。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。