On Jun 20, 2020, at 7:15 AM, Benjamin Tyner <btyner at gmail.com> wrote:
Greetings,
Occasionally, I desire to call a function with one argument set to equal to another. Here is a toy example:
f <- function(x, y) {
x + y
}
f(x = 3, y = x) # Error in f(x = 3, y = x) : object 'x' not found
So far, the most concise way I found to accomplish this is:
f(x = 3, y = local(sys.frame(1)$x)) # evaluates to 6
but I dislike this solution because local() creates a new environment. Surely there must be a better way?
Note: I'm not interested in solutions that require modifying or currying f.
Regards,
Ben