假设我有一个从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函数中更改和指定参数。
答案 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))