Re:Snippets of code for things you do all the time in R
by hessenwolf on Tuesday January 11, 2011 @12:04PM
(#2092561)
I am of the opposite opinion, but perhaps I can be converted.
Do you have an example of where it would be required to use '<-'? Not just median(x <- 10), but a use in which there no simple '=' alternative.
Re:Snippets of code for things you do all the time in R
by ltjohnson on Tuesday January 11, 2011 @12:38PM
(#2092723)
I've added some examples to my above comment. My example is perhaps a little closer to 'median(x <- 10)' than you were asking for, but I think it illustrates the point that using '=' will not always have the desired result in places where '<-' would.
Re:Snippets of code for things you do all the time in R
by hessenwolf on Thursday January 13, 2011 @07:19AM
(#2099569)
My problem is that between work in work and work in startup I need to write in about 8 languages.
This applies in all languages:
vec1 = rnorm(100)
system.time(vec1)
mean(vec1)
And, I can get my colleagues to fix it when I screw up, even though they are not R-heads.
Re:Snippets of code for things you do all the time in R
by ltjohnson on Thursday January 13, 2011 @11:58AM
(#2100417)
You gotta do what you gotta do, but your example probably doesn't do what you want in R.
> system.time(vec1 <- rnorm(1000000))
user system elapsed
0.200 0.000 0.199
My computer takes .2 seconds to generate the million random normals and assign them to vec1. > vec1 = rnorm(1000000)
> system.time(vec1)
user system elapsed
0 0 0
My computer only takes 0 seconds to evaluate the existing vec1 of length one million.
Re:Snippets of code for things you do all the time in R
by hessenwolf on Thursday January 13, 2011 @12:19PM
(#2100510)
Ah - sorry - I was being a bit t'ick, and didn't twig the time thing. Should I require it, I will keep it in mind. Thank you.
Simple example to show when '=' won't work but '<-' will. Pilfered from "R Inferno" [2], which is an excellent reference for R idioms and best practices.
And to demonstrate that you need to use '=' for argument passing: [1] Type help('=') at an R prompt, or view it online: http://stat.ethz.ch/R-manual/R-patched/library/base/html/ass...[2] http://www.burns-stat.com/pages/Tutor/R_inferno.pdf
edit: clarified statement.
edit: added examples.