2013-03-26 20 views

risposta

7

C'è anche la comoda functional::Curry funzionale:

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 

penso una differenza importante con la soluzione @ di NPE è che la definizione di g usando Curry non menziona b. Quindi potresti preferire questo approccio quando il numero di argomenti in f diventa grande.

+1

C'è anche 'pryr :: partial' e in' ptools', '% <<%', '%>>%' e '%()%'. Non è chiaro come la valutazione parziale e la valutazione lenta degli argomenti dovrebbero interagire, e ogni pacchetto ha un approccio leggermente diverso. – hadley

5
g <- function(b) f(a1, b, c1) 
Problemi correlati