z <- substitute(f(x), list(x = data.frame(y = 1))) z # f(list(y = 1)) str(z) # language f(structure(list(y = 1), .Names = "y", row.names = c(NA, -1L), class = "data.frame")) dput(z) # f(structure(list(y = 1), .Names = "y", row.names = c(NA, -1L), class = "data.frame")) Hadley -- Chief Scientist, RStudio http://had.co.nz/