[R] Problem with data.frames
Prof Brian Ripley
ripley at stats.ox.ac.uk
Mon Aug 4 13:06:27 CEST 2003
On Mon, 4 Aug 2003, Simon Fear wrote:
> Peter is right, but there is a point here: it would be nice if
> attach(my.dframe) would do nothing - or at least warn - if my.dframe was
> already in the search list. Like library(). Attaching twice is almost
It is not like library(). attach attaches a copy of the data frame, and
it can be altered subsequently. So how can you tell if the data frame is
on the search list. I suspect it is quite common to create an object
called `tmp' and put it on the search list for a while. library() assumes
that you have not reinstalled a loaded package (and if you have you would
get inconsistent results).
> to be an error?
Not at all.
> Of course in many circumstances it might be better to use with() than
> attach() - if you haven't come across with(), it works like attach()
> with an
> inbuilt detach() when the parentheses close.
> Aside 1: it would also be nice if ?attach pointed to ?with. Is this kind
> suggestion best sent to r-help or r-devel?
I don't see they do the same job, especially not in an interactive
session (which is when attach() is most usefully used in this way).
> Aside 2: is with() efficient, or does it create a copy of the dataset?
It does not create a copy, as you can see from the code (it uses a
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