【发布时间】:2020-04-04 14:29:21
【问题描述】:
给定一个函数
power <- function(x,a,b) b*x^a
我知道,我可以使用命名列表使用do.call 调用它,而不是使用power(c(1:10),2,1.5) 调用它,使用
parms=list(x=c(1:10),a=2,b=1.5)
do.call("power",parms)
但是,假设我有不同的向量 x 需要使用相同的 a 和 b 值进行处理。除非我遗漏了什么,否则我似乎无法定义 部分 列表 parms=list(a=2,b=1.5),然后以不同的 x 值重新使用此类列表,类似于
power(c(1:10),parms)
或
do.call("power",c(1:10),parms)
【问题讨论】:
-
和你想的一样——下面的方法可以工作
do.call("power",list(x=c(1:10), a=2,b=1.5))。这是否解决了您的用例? -
为了重用
parms,它应该类似于do.call("power",append(list(x=c(1:10)),parms)),但我想知道是否有更好的方法
标签: r user-defined-functions do.call