[R] retrieving object name

Prof Brian Ripley ripley at stats.ox.ac.uk
Mon Jul 10 16:15:14 CEST 2006

On Mon, 10 Jul 2006, Laurent Deniau wrote:

> I have a data frame with named columns and I would like to know if it is
> possible to retrieve a column name once selected:

Not really.  df$col1 is a new object which does not know where it came 

If you wanted to do this before selection, then

print.name <- function(df, col)
   struture(df[[col]], from=col)

would do the extraction and set an attribute to be consulted later.

> print(colnames(df))  # assumes to print "col1" "col2"
> print.name(df$col1)  # would like to print "col1"
> print.name(df$col2)  # would like to print "col2"
> So what the print.name function should do?
> My aim is not to print the column name but to select some settings from
> the column name withing the function (i.e. print.name), while this
> function is applied to several columns of the list/data.frame. Actually,
> I solved the problem by providing an extra parameter like:
> print.name(df$col1, "col1")
> but since I may have many of these columns/parameters combination, this
> is rather error prone and it would be much better if I could detect
> which columns of the data frame I am dealing with.
> Thanks.
> 	ld.

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