10

我遇到了一种情况,我需要将所有额外的参数传递给 R 函数并将它们滚动到一个对象中以供以后使用。我认为前面关于函数中省略号的问题会对我有所帮助,但我仍然不能完全掌握如何做到这一点。这是我想做的一个非常简单的例子:

newmean <- function(X, ...){
  args <- as.list(substitute(list(...)))[-1L]
  return(mean(X, args))
}

我在上面的示例中尝试了许多不同的 args 公式,并尝试在返回调用中取消列出 args。但我无法完成这项工作。有小费吗?

我意识到我可以这样做:

newmean <- function(X, ...){
    return(mean(X, ...))
}

但我需要在一个对象中有 ... 参数,我可以将其序列化并读回另一台机器。

4

1 回答 1

12

怎么样

newmean <- function(X, ...){
  args <- as.list(substitute(list(...)))[-1L]
  z<-list(X)
  z<-c(z,args)
  do.call(mean,z)
}
于 2010-06-29T16:57:25.893 回答