Convert name-value pair to function argument in R
我正在编写R函数,例如foo()。我希望能够传递参数的名称和值以在foo()内部的函数中求值。例如:
1 2 3 | foo = function(inputArg, inputVal){ return( rnorm(100, inputArg=inputVal) ) } |
然后,我可以评估
1 | foo("sd", 2) |
并获得一个包含100个标准偏差等于2的随机法线值的向量。我该怎么做?
在这种情况下,最好使用
1 2 3 4 5 | foo = function(inputArg, inputVal){ args <- list(100, inputVal) names(args) <- c("", inputArg) do.call(rnorm, args) } |
,我们可以按照您的期望进行呼叫。
1 | foo("sd", 2) |
此处