R: Passing function arguments to override defaults of inner functions -
in r, this: have function f1, has argument default value; k=3.
f1 = function(x,k=3){ u=x^2+k u } i later define second function, f2 calls f1.
f2 = function(z,s){ s*f1(z) } what's cleanest way allow users of f2 override default value of k in inner function f1? 1 trivial solution redefine f2 as:
f2 = function(z,s,k){ s*f1(z,k) } however, feel might cumbersome if i'm dealing large heirarchy of functions. suggestions? thanks.
the easiest way deal using ... argument. allows pass number of additional arguments other functions:
f1 = function(x,k=3){ u=x^2+k u } f2 = function(z,s, ...){ s*f1(z, ...) } you'll see commonly used in functions call others many optional arguments, example plot.
Comments
Post a Comment