在do.call中指定函数参数

时间:2013-08-15 21:19:34

标签: r

假设我有一个从Yahoo获取数据的函数,名为Yahoo.Fetch,我在该函数上运行一个do.call,它将是:

do.call(merge.xts, lapply(list.of.tickers, Yahoo.Fetch))

all=TRUE中的默认值为merge.xts,那么我如何在do.call中指定all=FALSE?这只是一个例子,但我想知道如何在apply,do.call,lapply函数中更改和指定参数。

1 个答案:

答案 0 :(得分:10)

您可以使用c()将其作为命名值添加到现有列表中,并返回另一个列表:

do.call(merge.xts, c( lapply(list.of.tickers, Yahoo.Fetch), all=FALSE ))

或者使用匿名帮助函数包装参数:

do.call( function(x) merge.xts(x, all=FALSE), 
               lapply(list.of.tickers, Yahoo.Fetch))