我想将参数传递给两个函数。我尝试...
,但似乎...
将所有参数传递给第一个函数。我的试用代码如下,但有错误。
f_add <- function(a = 1, b = 1){
return(a+b)
}
f_minus <- function(c = 1, d = 2){
return(c - d)
}
f_1 <- function(...){
f_add(...) + f_minus(...)
}
错误:
f_1(a = 1, b =2 , c = 3, d = 4)
## Error in f_add(...) : unused arguments (c = 3, d = 4)
## Called from: f_add(...)
## Browse[1]> Q
所以在这里我要求任何简单的方法来设计功能。
答案 0 :(得分:2)
您可以允许函数f_add
和f_minus
使用未命名的参数,并忽略它们:
f_add <- function(a = 1, b = 1, ...){
return(a+b)
}
f_minus <- function(c = 1, d = 2, ...){
return(c - d)
}
f_1 <- function(...){
f_add(...) + f_minus(...)
}
这允许你想要的计算:
f_1(a=1, b=2, c=3, d=4)
## [1] 2
答案 1 :(得分:1)
f_add <- function(a = 1, b = 1){
return(a+b)
}
f_minus <- function(c = 1, d = 2){
return(c - d)
}
f_1 <- function(a,b,c,d){
f_add(a,b) + f_minus(c,d)
}
f_1(a=1,b=100,c=2000,d=5)
2096