In Matlab if I have a function f such as the signature is f(a,b,c), I can make a function which has only one variable b, which would call f with a fixed a=a1 and c=c1:
g = @(b) f(a1, b, c1);
Is there an equivalent in R, or do I just need to redefine a new function ?
There is also the convenient functional::Curry
functional:
f <- function(a, b, c) {a + b + c}
f(1, 2, 3)
# [1] 6
library(functional)
g <- Curry(f, a = a1, c = c1)
g(b=2)
# [1] 6
g(2)
# [1] 6
I think an important difference with @NPE's solution is that the definition of g
using Curry
does not mention b
. So you might prefer this approach when the number of arguments in f
becomes large.
g <- function(b) f(a1, b, c1)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.