On Aug 23, 2010, at 6:28 PM, David Winsemius wrote:
On Aug 23, 2010, at 5:51 PM, ivo welch wrote:
quizz---what does this produce?
d=data.frame( a=1:1000, b=2001:3000, z= 5001:6000 )
attach(d); c <- (a+b)>25; detach(d)
d= subset(d, TRUE, select=c( a, b, c ))
yes, I know I have made a mistake, in that the code does not do
what I
presumably would have wanted. it does seem like unexpected behavior,
though, without an error. there probably is some reason why this
does
not ring an alarm bell...
You have created a perfect example for why it is a bad idea to
attach data.frames.
?attach # yes, I am yet again saying: "read the help page..."
... especially the 4th paragraph of the Details section.
I think it might helpful to consider the right way and the wrong way
to do the same assignment using with(), which is my choice as an
alternative to attache
Right;
d$c <- with(d, a+b >25) # note: using "c" as an object name is a
really confusing strategy
Wrong:
with(d, c <- a+b <25)
The wrong way is similar to what you might have thought would be
happening. The attach() operation created its own environment, but
that did not necessarily mean that all assignments would be creating
new columns inside "d".
--
David.
David Winsemius, MD
West Hartford, CT
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
David Winsemius, MD
West Hartford, CT
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.