Мета-ответ: если вы знаете, что R что-то делает, и вы хотите это сделать, проверьте источник.Например, вы, возможно, заметили, что plot(foo)
вставляет 'foo' в ylab
, поэтому сюжет может это сделать.Как?Начните с просмотра кода:
> plot
function (x, y, ...)
{
if (is.function(x) && is.null(attr(x, "class"))) {
if (missing(y))
y <- NULL
hasylab <- function(...) !all(is.na(pmatch(names(list(...)),
"ylab")))
if (hasylab(...))
plot.function(x, y, ...)
else plot.function(x, y, ylab = paste(deparse(substitute(x)),
"(x)"), ...)
}
else UseMethod("plot")
}
И есть магия deparse(substitute(x))
.