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

Bert Gunter bgunter@4567 @end|ng |rom gm@||@com
Sun Oct 26 16:37:52 CET 2025


I will correct myself. "Special features of the languages" is not the same
as "computing on the language." So my comment misunderstood your meaning.

Bert

On Sun, Oct 26, 2025 at 8:21 AM Bert Gunter <bgunter.4567 using gmail.com> wrote:

> I disagree. I see "formals() <- "  as a way to compute on **functions**,
> which are first class *objects* in R, as in any functional programming
> language. This is not computing on the language  as I understand the term
> -- substitute() and friends are, i.e. anything where eval() is needed to
> get a result.
>
> Cheers,
> Bert
>
>
> On Sun, Oct 26, 2025 at 7:36 AM Richard O'Keefe <raoknz using gmail.com> wrote:
>
>> 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 using 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 using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> > https://stat.ethz.ch/mailman/listinfo/r-help
>> > PLEASE do read the posting guide
>> https://www.R-project.org/posting-guide.html
>> > and provide commented, minimal, self-contained, reproducible code.
>>
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> https://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list