[R] partial evaluation of a function with several arguments

David Winsemius dwinsemius at comcast.net
Tue Feb 8 06:06:57 CET 2011


On Feb 7, 2011, at 11:33 PM, Martin Spindler wrote:

> Dear all,
>
> I have the following problem:
>
> add <- function(x,y) {x+y}
>
> What is the easiest / most elegant way to create a new function  
> (e.g. with the name "addev") that sets the second argument of the  
> function "add" to a fixed value (e.g. y=3), i.e. addev <- add(x,3).  
> But this does not work.

 > add <- function(x,y) {x+y}
 > addev <- add
 > formals(addev) <- alist(x=,y=3)
 > addev(1)
[1] 4


Although that might not be what you meant by "fixed" so this is  
another method with a different result:
 > addev <- add
 > body(addev) <- quote(x+3)
 > addev(4)
[1] 7


>
> Thank you for your efforts in advance!
>
> Best,
>
> Martin
> -- 
>
>
>
>
> -- 
> Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
> belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list