I'm trying to retrieve an unevalated argument (a list in particular).
I can do this easily when I call the function directly:
a1 <- function(x) match.call()$x
a1(list(y=x^2))
list(y = x^2)
But when the function is called by another function, it gets trickier
b <- function(x, f) f(x)
b(list(x^2), a1)
x
The best I've been able to do is:
a2 <- function(x) parse(text=deparse(substitute(x, parent.frame())))[[1]]
b(list(x^2), a2)
list(x^2)
But I'm sure there must be a better way!
Hadley