R語言
Vectorize
位於 base
包(package)。 說明
Vectorize
創建一個函數包裝器,向量化其參數 FUN
的操作。
用法
Vectorize(FUN, vectorize.args = arg.names, SIMPLIFY = TRUE,
USE.NAMES = TRUE)
參數
FUN |
要應用的函數,通過 |
vectorize.args |
應向量化的參數的字符向量。默認為 |
SIMPLIFY |
邏輯或字符串;嘗試將結果簡化為向量、矩陣或更高維數組;請參閱 |
USE.NAMES |
邏輯性;如果第一個 ... 參數有名稱,則使用名稱,或者如果它是字符向量,則使用該字符向量作為名稱。 |
細節
Vectorize
的 vectorize.args
參數中指定的參數是 ...
列表中傳遞給 mapply
的參數。隻有真正通過的才會被向量化;默認值不會。請參閱示例。
Vectorize
不能與基元函數一起使用,因為它們沒有 formals
的值。
它也不能與具有名為 FUN
、 vectorize.args
、 SIMPLIFY
或 USE.NAMES
參數的函數一起使用,因為它們會幹擾 Vectorize
參數。請參閱下麵的 combn
示例了解解決方法。
值
與 FUN
具有相同參數的函數,包裝對 mapply
的調用。
例子
# We use rep.int as rep is primitive
vrep <- Vectorize(rep.int)
vrep(1:4, 4:1)
vrep(times = 1:4, x = 4:1)
vrep <- Vectorize(rep.int, "times")
vrep(times = 1:4, x = 42)
f <- function(x = 1:3, y) c(x, y)
vf <- Vectorize(f, SIMPLIFY = FALSE)
f(1:3, 1:3)
vf(1:3, 1:3)
vf(y = 1:3) # Only vectorizes y, not x
# Nonlinear regression contour plot, based on nls() example
require(graphics)
SS <- function(Vm, K, resp, conc) {
pred <- (Vm * conc)/(K + conc)
sum((resp - pred)^2 / pred)
}
vSS <- Vectorize(SS, c("Vm", "K"))
Treated <- subset(Puromycin, state == "treated")
Vm <- seq(140, 310, length.out = 50)
K <- seq(0, 0.15, length.out = 40)
SSvals <- outer(Vm, K, vSS, Treated$rate, Treated$conc)
contour(Vm, K, SSvals, levels = (1:10)^2, xlab = "Vm", ylab = "K")
# combn() has an argument named FUN
combnV <- Vectorize(function(x, m, FUNV = NULL) combn(x, m, FUN = FUNV),
vectorize.args = c("x", "m"))
combnV(4, 1:4)
combnV(4, 1:4, sum)
相關用法
- R Version 版本信息
- R file.path 構造文件路徑
- R grep 模式匹配和替換
- R getwd 獲取或設置工作目錄
- R vector 向量 - 創建、強製等
- R lapply 對列表或向量應用函數
- R dump R 對象的文本表示
- R Sys.getenv 獲取環境變量
- R rank 樣本排名
- R getDLLRegisteredRoutines DLL 中 C/Fortran 例程的反射信息
- R pushBack 將文本推回連接
- R strsplit 分割字符向量的元素
- R seq.Date 生成規則的日期序列
- R invisible 將打印模式更改為不可見
- R noquote “無引號”字符串打印類
- R warning 警告信息
- R rapply 遞歸地將函數應用於列表
- R basename 操作文件路徑
- R with 評估數據環境中的表達式
- R formals 訪問和操縱形式參數
- R icuSetCollate 按 ICU 設置整理
- R search 給出 R 對象的搜索路徑
- R Defunct 將對象標記為已失效
- R gzcon 通過連接(解)壓縮 I/O
- R readRenviron 從文件設置環境變量
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Vectorize a Scalar Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。