将列表转换为“两个或多个对象” R 中的参数
我必须在 R 中调用一个函数,该函数将“2 个或更多对象”作为输入,因此函数定义为:
function(..., all = TRUE, <其他命名参数>)
其中...被定义为2个或更多对象
问题是我的对象位于列表中,并且我根据我想要做的事情使用不同数量的对象。因此,如果我的列表有 3 个元素,我必须这样做:
function(list[[1]], list [[2]], list[[3]])
我该怎么做一般来说,无论列表中的元素数量如何?
I have to call a function in R that takes "2 or more objects" as an input, so the function definition is:
function(..., all = TRUE, <other named parameters>)
where ... is defined as 2 or more objects
The issue is I have is that my objects are in a list, and I am working with a different number of objects according to what I want to do. So if my list has 3 elements for example I would have to do:
function(list[[1]], list [[2]], list[[3]])
How can I do that generically, regardless of the number of element in my list ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 do.call,因为它接受参数列表并将它们应用于函数。例如,对于 rbind :
请注意,如果您需要额外的参数,您也应该将它们添加到列表中。参见例如:
You can use do.call, as that takes a list of arguments and applies them on function. Eg for rbind :
Mind you, if you need extra arguments, you should add them to the list as well. See eg :
一个例子会很有帮助,但我很确定您正在寻找
do.call
:An example would be helpful, but I'm pretty sure you're looking for
do.call
: