【发布时间】:2021-08-06 16:05:41
【问题描述】:
假设我有以下功能:
a <- function(p, q){p * q}
我想在动态do.call()statement 中使用该函数:
do.call("a", list(p = 3, q = 3))
效果很好。
但是当使用动态函数名进行 do.call-call 时,list() 中所需的参数会发生变化。
do.call("a", list(p = 3, q = 3, f = 3))
这会引发错误,因为函数 a 不需要 f。然而,f 是动态 do.call 设置中使用的后续函数的参数。
是否可以允许 do.call 调用的特定函数中不需要但在函数更改时需要的参数?
例子:
a <- function(p, q){p * q}
b <- function(m, n){paste(m, n)}
funs <- c("a", "b")
for(i in funs){
do.call(i, list(p = 3, q = 3, m = "Yes", n = "No")
}
【问题讨论】:
-
这能回答你的问题吗? Unused arguments in R
标签: r