r - 如何在 lapply (R) 中显式定义附加参数
问题描述
我有一个带有两个参数的函数,如下所示:
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 上运行会很复杂。如果函数包含...则更加复杂
解决方案
您可以使用Map()
from base 执行此操作(类似于lapply()
)
Map(MyFun, y=1:10, z=10)
或者mapply()
也从基础,如果你想要一个向量作为回报(类似于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
推荐阅读
- php - 包括'count.html.php'
- angular - 有没有办法访问 templateRef 中的内容
- wordpress - 如何使用 WPBakery 的 vc_map() 动态显示其他参数
- templates - 如何防止 MediaWiki 中#if 条件内的图像“隐藏”链接
- testing - 数据驱动测试未通过 1 个参数
- aem - 从 AEM 6.5 中 HTL 中的多字段组件中检索值
- python - 划分numpy数组
- javascript - Rails Leaflet Webpack 空白页
- azure-devops - 构建管道的默认分支。这是什么意思?
- palindrome - 回文解释