我有一个带有可选参数的R函数,如下所示:
myFunc <- function(
requiredParam,
optionalParam1 = optionalValue1,
optionalParam2 = optionalValue2,
...
optionalParamN = optionalValueN) {
# implementation
}
我有另一个调用此函数的函数,并具有存储在数据帧中的必要参数:
optionalParam1 optionalParam3 optionalParam10
1 "val1" "val2" "val3"
我只想传递数据框中指定的可选参数。对于其他人,我希望它使用默认值。如何在不输入现有/不存在的OptionalParameters的所有排列的情况下完成此操作?
答案 0 :(得分:2)
使用do.call
调用函数(不知道你的data.frame被调用了什么我会假设你有一个列表或一些名为myParams
的参数):
do.call(myFunc, as.list(myParams))
答案 1 :(得分:0)
您还可以通过解析数据框列名并使用paste
将函数调用构建为字符串。
然后,使用eval(parse(text="your string"))