deparse
位於 base
包(package)。 說明
將未計算的表達式轉換為字符串。
用法
deparse(expr, width.cutoff = 60L,
backtick = mode(expr) %in% c("call", "expression", "(", "function"),
control = c("keepNA", "keepInteger", "niceNames", "showAttributes"),
nlines = -1L)
deparse1(expr, collapse = " ", width.cutoff = 500L, ...)
參數
expr |
任何R表達。 |
width.cutoff |
中的整數確定嘗試 line-breaking 的截止值(以字節為單位)。 |
backtick |
邏輯指示如果符號名稱不遵循標準語法,是否應將其括在反引號中。 |
control |
解析選項的字符向量(或 |
nlines |
整數:要生成的最大行數。負值表示沒有限製。 |
collapse |
一個字符串,傳遞給 |
... |
進一步的參數傳遞給 |
細節
這些函數將未計算的表達式(其中 ‘expression’ 的含義比 mode
和 expression
中使用的類型 ( typeof
) "expression"
的向量的嚴格概念更廣泛)轉換為字符串(一種與 parse
相反)。
其典型用途是為數據集和繪圖創建信息標簽。該示例展示了此函數的簡單用法。它使用函數 deparse
和 substitute
為繪圖創建標簽,這些標簽是函數 myplot
的實際參數的字符串版本。
backtick
選項的默認設置是不引用單個符號,而僅引用複合表達式。這是避免破壞現有代碼的折衷方案。
width.cutoff
是行長度的下限:繼續解析行,直到至少輸出 width.cutoff
字節,例如arg = value
表達式不會跨行拆分。
deparse1()
是一個簡單的實用程序添加R4.0.0 確保字符串結果(character
長度為一的向量,通常用於名稱構造,如deparse1(substitute(.))
.
注意
為了避免源屬性與實際函數定義不同步的風險,函數的源屬性永遠不會被解析為屬性。
解析內部結構可能不準確:例如recordPlot
記錄的圖形顯示列表不打算被解析,並且.Internal
調用將顯示為原始調用。
例子
require(stats); require(graphics)
deparse(args(lm))
deparse(args(lm), width.cutoff = 500)
myplot <- function(x, y) {
plot(x, y, xlab = deparse1(substitute(x)),
ylab = deparse1(substitute(y)))
}
e <- quote(`foo bar`)
deparse(e)
deparse(e, backtick = TRUE)
e <- quote(`foo bar`+1)
deparse(e)
deparse(e, control = "all") # wraps it w/ quote( . )
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
.deparseOpts
用於可用的 control
設置; dput()
和 dump()
用於使用相同內部解析函數的相關函數。
Quotes
用於引用約定,包括反引號。
相關用法
- R deparseOpts 表達式解析選項
- R debug 調試函數
- R delayedAssign 延遲評估和承諾
- R det 計算矩陣的行列式
- R detach 從搜索路徑中分離對象
- R dump R 對象的文本表示
- R diag 矩陣對角線
- R dots ...、..1 等在函數中使用
- R do.call 執行函數調用
- R dcf 以 DCF 格式讀寫數據
- R data.class 對象類
- R dimnames 對象的暗名稱
- R dyn.load 對外函數接口
- R diff 滯後差異
- R dput 將對象寫入文件或重新創建它
- R duplicated 確定重複元素
- R dim 物體的尺寸
- R dontCheck 抑製檢查的身份函數
- R drop 刪除冗餘盤區信息
- R difftime 時間間隔/差異
- R data.frame DataFrame
- R double 雙精度向量
- R data.matrix 將 DataFrame 轉換為數字矩陣
- R date 係統日期和時間
- R droplevels 刪除因子中未使用的級別
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Expression Deparsing。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。