【发布时间】:2014-12-03 20:53:20
【问题描述】:
我的函数有很多参数。所以我想创建一个参数列表并将它们传递给函数。
以?mean函数为例:
mean(x, trim = 0, na.rm = FALSE, ...)
假设我想计算1:10 的平均值,分配给变量x,但将其他参数作为列表传递:
gm <- list (trim = 0, na.rm = FALSE)
mean(1:10, gm)
#R> Error in mean.default(1:10, gm) : 'trim' must be numeric of length one
我尝试使用do.call,但也不起作用。
do.call(mean,list(1:10, gm))
#R> Error in mean.default(1:10, list(trim = 0, na.rm = FALSE)) :
#R> 'trim' must be numeric of length one
【问题讨论】:
-
完整,
do.call(mean,c(list(1:10), gm))。注意list(1:10, gm)和c(list(1:10), gm)返回的对象在形状(长度)上的差异。