R語言 
do.call 位於 base 包(package)。 說明
do.call 根據名稱或函數以及要傳遞給它的參數列表構造並執行函數調用。
用法
do.call(what, args, quote = FALSE, envir = parent.frame())
參數
| what | 一個函數或一個非空字符串,命名要調用的函數。 | 
| args | 函數調用的參數列表。  | 
| quote | 指示是否引用參數的邏輯值。 | 
| envir | 評估調用的環境。如果  | 
細節
如果 quote 是默認值 FALSE ,則對參數進行求值(在調用環境中,而不是在 envir 中)。如果 quote 是 TRUE 則每個參數都會被引用(請參閱 quote ),以便參數求值的效果是刪除引號 - 在構造調用時保留原始參數不求值。
對於使用 do.call 計算的函數,某些函數(例如 substitute )的行為與從解釋器計算的函數不同。精確的語義目前尚未定義並且可能會發生變化。
值
(評估的)函數調用的結果。
警告
這不應該被用來試圖逃避對 .Internal 和其他非 API 調用的使用限製。
例子
do.call("complex", list(imaginary = 1:3))
## if we already have a list (e.g., a data frame)
## we need c() to add further arguments
tmp <- expand.grid(letters[1:2], 1:3, c("+", "-"))
do.call("paste", c(tmp, sep = ""))
do.call(paste, list(as.name("A"), as.name("B")), quote = TRUE)
## examples of where objects will be found.
A <- 2
f <- function(x) print(x^2)
env <- new.env()
assign("A", 10, envir = env)
assign("f", f, envir = env)
f <- function(x) print(x)
f(A)                                      # 2
do.call("f", list(A))                     # 2
do.call("f", list(A), envir = env)        # 4
do.call( f,  list(A), envir = env)        # 2
do.call("f", list(quote(A)), envir = env) # 100
do.call( f,  list(quote(A)), envir = env) # 10
do.call("f", list(as.name("A")), envir = env) # 100
eval(call("f", A))                      # 2
eval(call("f", quote(A)))               # 2
eval(call("f", A), envir = env)         # 4
eval(call("f", quote(A)), envir = env)  # 100
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
call 創建未評估的調用。
相關用法
- R dots ...、..1 等在函數中使用
- R dontCheck 抑製檢查的身份函數
- R double 雙精度向量
- R dump R 對象的文本表示
- R diag 矩陣對角線
- R deparse 表達式解析
- R deparseOpts 表達式解析選項
- R debug 調試函數
- R dcf 以 DCF 格式讀寫數據
- R data.class 對象類
- R dimnames 對象的暗名稱
- R dyn.load 對外函數接口
- R diff 滯後差異
- R dput 將對象寫入文件或重新創建它
- R duplicated 確定重複元素
- R dim 物體的尺寸
- R drop 刪除冗餘盤區信息
- R delayedAssign 延遲評估和承諾
- R difftime 時間間隔/差異
- R det 計算矩陣的行列式
- R detach 從搜索路徑中分離對象
- R data.frame DataFrame
- R data.matrix 將 DataFrame 轉換為數字矩陣
- R date 係統日期和時間
- R droplevels 刪除因子中未使用的級別
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Execute a Function Call。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
