使用R中另一个函数的参数创建函数

时间:2012-12-13 11:56:53

标签: r function arguments

我创建了一个函数Dummyfunc来计算不同样本的倍数变化。 我在gsva函数中使用了Dummyfunc函数。我想从gsva访问Dummyfunc函数的所有参数,以便我可以根据需要更改参数的值。 到目前为止,我尝试过这样做: -

Dummyfunc <- function(method="gsva",verbose=TRUE,kernel=){
gsva(method=method,kernel=kernel,verbose=verbose)
}

但它是否可以自动化方式完成,以便可以从gsva

访问Dummyfunc函数的所有参数

2 个答案:

答案 0 :(得分:1)

我不确定你追求的是什么,但会使用...。例如:

Dummyfunc = function(...)
     gsva(...)

Dummyfunc = function(method="gsva", verbose=TRUE, ...)
     gsva(method=method, verbose=verbose, ...)

我们使用...传递任何其他参数。

答案 1 :(得分:1)

如果我正确理解了您的问题,您应该只使用...将它们全部传递出去,但这可能需要一段时间。

# define the internal function
f.two <- 
    function( y , z ){
        print( y )
        print( z )
    }

# define the external function,
# notice it passes the un-defined contents of ... on to the internal function
f.one <-
    function( x , ... ){
        print( x )

        f.two( ... )

    }

# everything gets executed properly
f.one( x = 1 , y = 2 , z = 3 )