On Thu, 2 Dec 2010 23:34:02 -0500 David Winsemius <dwinsem...@comcast.net> wrote:
> [...] Erik is telling you that your use of ncol<-4 got evaluated to > 4 and that the name of the resulting object was ignored, howevert the > value of the operation was passed on to matrix which used positional > matching since "=" was not used. Sounds like a fair summary of what Erik said, but it is subtly wrong. R has lazy evaluation of its arguments. There is nothing that forces the assignment to be evaluated and to pass the result into the function. On the contrary, the assignment takes place when the function evaluates the argument. For example: R> rm(list=ls(all=TRUE)) R> ls() character(0) R> foo <- function(x, y){ + if (x > 3) cat(y, "\n") + x} R> foo(4, bar <- 5) 5 [1] 4 R> ls() [1] "bar" "foo" R> bar [1] 5 R> foo(2, fubar <- 6) [1] 2 R> fubar Error: object 'fubar' not found R> ls() [1] "bar" "foo" > Usually the problem facing newbies is that they want to save > keystrokes and so use "=" for assignment (also a potential pitfall > although not as likely to mess you up as the choice to use the > two-keystroke path for argument assignment). On the contrary, the opposite is also very likely. One of my favourite idioms is: plot(fm <- lm(y~x, data=some.data)) to (1) fit a model, (2) assign the fitted model to an object and (3) look immediately at diagnostic plots. Students came to me and said that the code in the lab sheet didn't work and they were getting strange error messages "about objects not being found". They reassured me that they had typed in exactly what was on the lab sheet. Of course, once I got to their computer and looked at their screen, it was clear that they had typed: plot(fm = lm(y~x, data=some.data)) Cheers, Berwin ========================== Full address ============================ Berwin A Turlach Tel.: +61 (8) 6488 3338 (secr) School of Maths and Stats (M019) +61 (8) 6488 3383 (self) The University of Western Australia FAX : +61 (8) 6488 1028 35 Stirling Highway Crawley WA 6009 e-mail: ber...@maths.uwa.edu.au Australia http://www.maths.uwa.edu.au/~berwin ______________________________________________ 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.