[R] Construct a function with argments specified by an R expression
Rolf Turner
ro||turner @end|ng |rom po@teo@net
Sat Oct 25 05:17:11 CEST 2025
On Fri, 24 Oct 2025 22:31:53 -0400
Iris Simmons <ikwsimmo using gmail.com> wrote:
> I would start by making a list of the desired length, where each
> element is the missing argument:
>
> f <- rep(list(quote(expr = )), 2 + length(argnms))
>
> then add names to the list:
>
> names(f) <- c("x", "y", argnms)
>
> and then use formals<-
>
> formals(foo) <- f
Wow! That was fast! And it seems to do exactly what I want.
What I was missing, I guess, was the quote(expr = ) structure. I have
never really understood quote(), nor expr() either. I'll just treat it
as a black box for now.
> Although, I would ask if you're certain that this is actually what
> you want to do. It's usually a bad idea to have variable names that
> you don't know. I'd to think it'd be better to have the default
> argument:
>
> a = list()
>
> and supply a list of `a` values instead of several `a` arguments.
Yes I understand that that would be the "sensible" approach but it
doesn't work in the context with which I am confronted.
I have more work to do before I get the approach that I've envisaged up
and running.
I may inflict more questions upon you later. (No good deed goes
unpunished! 🙂️)
cheers,
Rolf
--
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
More information about the R-help
mailing list