[Rd] attach and object masking
Martyn Plummer
plummer at iarc.fr
Fri Jun 10 18:12:33 CEST 2005
The library() function prints an information message when objects are
masked on the search path by (or from) a newly attached package. The
attach() function, however, doesn't. Is there a good reason for this?
I have adapted the machinery for checking conflicts used in the library
() function to attach(). If there are no objections, I will check this
into R-devel.
I have seen new users get into terrible trouble with attach, e.g.
1) attaching the same database multiple times, or
2) Masking a vector in an attached data frame with a transformed version
in the global environment and *then* re-running a script that transforms
the transformed variable. For example, run this snippet twice and you
might get a surprise.
foo <- data.frame(x=1:10)
attach(foo)
x <- x/2
A warning would certainly help.
Incidentally, (1) occurs in the example for the beavers data set. I
didn't find any other problems.
More information about the R-devel
mailing list