[R] R annoyances

Robin Hankin r.hankin at noc.soton.ac.uk
Fri May 20 12:09:57 CEST 2005

On May 20, 2005, at 11:00 am, Jan T. Kim wrote:

> On Thu, May 19, 2005 at 03:10:53PM -0400, John Fox wrote:
>> Since you can use variables named c, q, or t in any event, I don't 
>> see why
>> the existence of functions with these names is much of an impediment.
> True, particularly since I'm not too likely to use these variables for 
> (local)
> functions, and variables of other types don't prevent functions from 
> working.
> (I thought this was a problem... I must be spoilt by recently having 
> to read
> too much Matlab code, where parentheses are used to both enclose 
> subscripts and
> parameter lists, thus rendering subscript expressions and function 
> calls
> syntactically indistinguishable.)

Heh, I'm a recovering Matlab  user too.  This is sooooooooooo true!

In Matlab:

f(10)    # function f() evaluated at 10
f(10)    # 10th element of vector f.  confusing!!

R uses round brackets in two unrelated ways:

  4*(1+2)  --- using "(" and ")" to signify grouping
f(8)  function f() evaluated at 8.

where there is no reason to use the same parenthesis symbol for both 

IMO, the only system with consistent parenthesis use is Mathematica;

f[10]  #  function f[] evaluated at 10
8*(2+2)   # parenthesis to override  order of operations
f[[3]] # third element of list f

{} are used for sets.

Robin Hankin
Uncertainty Analyst
National Oceanography Centre, Southampton
European Way, Southampton SO14 3ZH, UK
  tel  023-8059-7743

More information about the R-help mailing list