[R] Creating plots for all variables in a data frame and printing them with the variable name in the main title
Prof Brian Ripley
ripley at stats.ox.ac.uk
Mon Mar 17 12:35:36 CET 2008
On Mon, 17 Mar 2008, Uli Kleinwechter wrote:
> Dear all,
>
> I'm just trying to create plots for all variables in a dataframe (named
> "x") using the following:
>
> png()
> apply(x,2,hist)
Please don't use apply() on a data frame: you want lapply(x, hist) here.
> Just as intended, it produces one plot for each variable. Unfortunately,
> the main title of each graph is "Histogram of newX[,i]" instead of
> "Histogram of name of variable". This makes it impossible to assign the
> graphs to the variables. Is there a way to change this and to make R use
> the correct variable names in the title of the plot?
You need to tell hist() what the title is to be. I'd just use a loop,
e.g.
for(xn in names(x)) hist(x[[xn]], title = paste("Histogram of", xn))
but you could use lapply by e.g.
lapply(names(x), function(xn) hist(x[[xn]], title = paste("Histogram of", xn)))
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list