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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。