[R] R is GNU S, not C.... [was "how to get or store ....."]
Philippe Grosjean
phgrosjean at sciviews.org
Wed Dec 7 02:06:58 CET 2005
Hello,
About the "R style war": as soon as you write code for yourself, you can
do what you want, of course. If your code is shared (for instance, code
in packages submitted to CRAN), it makes sense to render it so that it
is easier to read *by a majority of people*. The only way to make sure
it is easy to read by most people is to follow strictly the style
proposed by the R core team (even if you don't like it)!
So, if you write both code for yourself and for public release, and/or
if you think that your code will become public one day, it is better to
follow R core team style from the beginning. Similarly, you should never
use T/F instead of TRUE/FALSE in code that will go to a library ('cause
you'll have to change it anyway)... So, why not to take the habit to
write TRUE/FALSE all the time in your code?
The conclusion: it is far better to strictly follow R core team style
for *all* code (your own plus the one your share), because it is easier
to stick on one style... and, don't worry, you will gradually become
accustomished to the aspects you don't like in that style.
So, who said there is an "R style war"? There is one set of rules to
follow. Point. Don't you have better things to do that to discuss if one
needs a space here (a <- 1), or not (a<-1) ?
Best,
Philippe Grosjean
Patrick Connolly wrote:
> On Tue, 06-Dec-2005 at 01:00PM +0000, Adaikalavan Ramasamy wrote:
>
> |> Yes, it drives me mad too when people use "=" instead of "<-" for
> |> assignment and suppress spaces in an naive attempt for saving space.
> |>
> |> As an example compare
> |>
> |> o=fn(x=1,y=10,z=1)
> |>
> |> with
> |>
> |> o <- fn( x=1, y=10, z=1 )
>
>
> Or better still:
>
> o <- fn(x = 1, y = 10, z = 1)
>
> The effect is more marked when the arguments are whole words rather
> than the single letter names in this example.
>
> Compare
>
> o <- fn(xena = log, yacht = 10625, zebra = "green")
>
> with
>
> o <- fn( xena=log, yacht=10625, zebra="green" )
>
>
>
>
> |>
> |> Regards, Adai
> |>
> |>
> |>
> |> On Tue, 2005-12-06 at 13:43 +0100, Martin Maechler wrote:
> |> > >>>>> "vincent" == vincent <vincent at 7d4.com>
> |> > >>>>> on Tue, 06 Dec 2005 11:09:36 +0100 writes:
> |> >
> |> > vincent> shanmuha boopathy a écrit :
> |> > >> a<-function(a,b,c,d)
> |> > >> {
> |> > >> k=a+b
> |> > >> l=c+d
> |> > >> m=k+l
> |> > >> }
> |> > >>
> |> > >> in this example the function will return only the value of "m"
> |> > >> ...But I like to extract the values of "l" & "k" also.........
> |> > >> which command to use for storing or for extracting those intermediate value.......
> |> >
> |> > vincent> may I suggest, inside your function
> |> >
> |> > vincent> res = c(k, l, m);
> |> > vincent> return(res);
> |> >
> |> > please, please, these trailing ";" are *so* ugly.
> |> > This is GNU S, not C (or matlab) !
> |> >
> |> > {and I have another chain of argments why "<-" is so more
> |> > expressive than "=" but I'll be happy already if you could
> |> > drop these ugly empty statements at the end of your lines...
> |> >
> |> > vincent> # also ... read some intro docs !
> |> >
> |> > ______________________________________________
> |> > R-help at stat.math.ethz.ch mailing list
> |> > https://stat.ethz.ch/mailman/listinfo/r-help
> |> > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> |> >
> |>
> |> ______________________________________________
> |> R-help at stat.math.ethz.ch mailing list
> |> https://stat.ethz.ch/mailman/listinfo/r-help
> |> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>
More information about the R-help
mailing list