将函数名称作为参数传递给mapply?

罗伯特·麦克唐纳

我想在mapply中将函数名称作为参数传递:

f2 <- function(a, b) a + b^2
f <- function(a, b, func) func(a, b)
f(1, 3, f2)  ## returns 10
mapply(f2,  1:2,  3)  ## returns [1] 10 11
mapply(function(a, b) f(a, b, f2), 1:2,  3) ## returns [1] 10 11
mapply(f,  1:2,  3,  f2)  ## fails

最后一次mapply调用会产生错误

Error in dots[[3L]][[1L]] : object of type 'closure' is not subsettable

有什么办法吗?

弗里克先生

mapply假定您要遍历在第一个函数之后传递的所有向量。但是您想f2为每个迭代使用相同的值您可以使用MoreArgs=参数来做到这一点

mapply(f,  1:2,  3,  MoreArgs=list(func=f2))

您不会对3遇到相同的问题,因为R将执行向量循环以扩展3c(3,3)以匹配与相同的长度c(1,2)R中的函数没有相同的隐式回收行为。但是,如果您希望该值始终保持不变,则最好将其放在MoreArgs参数中

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将参数名称作为参数传递给函数

如何将子类的函数名称作为参数传递给python中的父类方法?

将软件包名称和函数名称作为变量传递给python

如何将参数名称作为参数传递?

将函数名称作为脚本中的位置参数之一传递

将函数参数名称作为字符串传递

Python3:将函数名称作为参数传递

将表名称作为参数传递给Dapper

将属性名称作为参数传递给mixin LESS

将容器名称作为参数传递给BlobTrigger

使用函数名称作为参数

clojure函数名称作为参数

获取作为参数传递给函数的函数名称

将System .Property名称作为函数参数传递

R 非标准求值:将变量的名称作为参数传递给函数并让函数为其赋值

将字符串作为参数名称/值对传递给R函数

如何将MongoDB集合名称作为参数传递给数据库连接函数-Python

如何将对象的函数名称作为参数传递

为什么在这种情况下不能将函数名称作为参数传递?

将联合传递给函数无法识别参数名称

将列列表名称和表名称作为参数传递给 sp_executesql

将函数名称作为操作传递时的混乱行为

如何在Python 3中将函数名称作为String传递

如何将函数中的参数名称作为列值返回?

在C语言中,为什么我可以将函数名称(而不是指针)作为参数传递给函数?

是否可以将动作名称作为参数传递给@Url.Action?

将方法名称作为参数传递给另一个方法

PostgreSQL - 如何将角色名称作为参数传递给过程?

将线程名称作为全局变量传递给函数