我遇到了一种情况,我需要将所有额外的参数传递给R函数并将它们滚动到一个对象中供以后使用。我认为函数中的previous question about ellipses会对我有所帮助,但我仍然无法理解如何做到这一点。这是我想要做的一个非常简单的例子:
newmean <- function(X, ...){
args <- as.list(substitute(list(...)))[-1L]
return(mean(X, args))
}
我在上面的示例中尝试了许多不同的args公式,并在返回调用中尝试了未列出的args。但我无法做到这一点。有什么提示吗?
我意识到我可以做到这一点:
newmean <- function(X, ...){
return(mean(X, ...))
}
但是我需要在一个对象中有...参数,我可以将其序列化并读回另一台机器。
答案 0 :(得分:10)
怎么样
newmean <- function(X, ...){
args <- as.list(substitute(list(...)))[-1L]
z<-list(X)
z<-c(z,args)
do.call(mean,z)
}