Why isn't substitute(x, parent.frame()) enough? parse(deparse()) seems redundant...
Andy From: hadley wickham > > 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 > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel