捕获函数的可变数量的命名参数

时间:2014-08-25 12:54:41

标签: r

有没有办法给R函数一个命名输入参数序列(其中名称未在函数定义中指定)并将该序列捕获为命名列表,类似于python' s * kwargs?例如:f(first=1, second=2)将在其正文中捕获并使用一个列表(first = 1,second = 2);但是f(third=3, fourth=4, fifth=5)会使用一个列表(第三个= 3,第四个= 4,第五个= 5)。当然可以将列表本身作为参数传递。这里的好处是易于使用。

1 个答案:

答案 0 :(得分:6)

为此,您可以使用...,例如:

spam = function(a, b, ...) {
    dots = list(...)
    dots['c']
}
spam(1, 2, c = 3)
# $c
# [1] 3