[R] Construct a function with argments specified by an R expression

Richard O'Keefe
Sun, 26 Oct 2025 14:36:34 -0000

Can I just mention the quick-and-dirty way that will get the job done?
Not as elegant as use the special features of the language *meant* for
this kind of job,
but suitable for a bear of very little brain.

1. Write a function that constructs the code you want as text, written
to a file.
2. source() the file.'

On Sat, 25 Oct 2025 at 15:23, Rolf Turner <rolfturner at posteo.net>
wrote:
>
>
> I want to build a function (say "buildFn") to *return* a function
of the
> form
>
>     foo(x,y,a1, ... an, b1, ..., bn)
>
> where the arguments ai and bi are given in the form of a list created
> in R.  E.g. I'd like to be able to say
>
>      argnms <-
c(paste0("a",1:3),paste0("b",1:3"))
>      foo <- buildFn(argnms)
>
> with the resulting "foo" having arguments x, y, a1, a2, a3, b1,
b2, b3.
>
> I thought I might be able to do this using "formals<-" but I
cannot get
> this to work.  i could provide more detail of what I've tried, but
it's
> probably not worth it.
>
> Can anyone steer me in the right direction?  Thanks.
>
> cheers,
>
> Rolf Turner
>
> --
> Honorary Research Fellow
> Department of Statistics
> University of Auckland
> Stats. Dep't. (secretaries) phone:
>          +64-9-373-7599 ext. 89622
> Home phone: +64-9-480-4619
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide