如何在 lapply (R) 中显式定义附加参数
Posted
技术标签:
【中文标题】如何在 lapply (R) 中显式定义附加参数【英文标题】:How to explicitly define the additional arguments in lapply (R) 【发布时间】:2019-10-28 11:07:53 【问题描述】:我有一个有两个参数的函数,如下:
MyFun = function(y, z)0.5*y + 10*z
我希望 z 固定为 10,并且 y 取以下 1:10 之一。 使用 lapply 我写道:
lapply(X = 1:10, FUN = MyFun, z=10)
这可以完成工作,但似乎 R 理解 y 是 X,因为它是 MyFun 的缺失参数。我的问题是如何在附加参数中明确定义 y 。我想输入如下内容:
lapply(X = 1:10, FUN = MyFun, y=X, z=10)
这显然不起作用,因为 R 会在一般环境中寻找 X。隐式定义 y 的问题在于,当我有一个函数,比如说,10 个固定参数和一个参数取 X 的值时,(对于外部读者)断定哪个参数在 X 上运行会很复杂。如果函数包含...则更复杂...
【问题讨论】:
【参考方案1】:您可以使用来自 base 的 Map()
执行此操作(类似于 lapply()
)
Map(MyFun, y=1:10, z=10)
或者mapply()
也来自base,如果你想要一个向量作为回报(类似于sapply()
)
mapply(MyFun, y=1:10, z=10)
# [1] 100.5 101.0 101.5 102.0 102.5 103.0 103.5 104.0 104.5 105.0
【讨论】:
以上是关于如何在 lapply (R) 中显式定义附加参数的主要内容,如果未能解决你的问题,请参考以下文章
在vs2013中,c++中set容器定义对象时,参数列表中显式调用greater无法被识别,啥原因?
sequelize抛出错误方言需要在express js中显式定义