[R] The end of Matlab

Mike Rowe mwrowe at gmail.com
Fri Dec 12 03:45:03 CET 2008


Greetings!

I come to R by way of Matlab.  One feature in Matlab I miss is its
"end" keyword.  When you put "end" inside an indexing expression, it
is interpreted as the length of the variable along the dimension being
indexed.  For example, if the same feature were implemented in R:

my.vector[5:end]

would be equivalent to:

my.vector[5:length(my.vector)]

or:

this.matrix[3:end,end]

would be equivalent to:

this.matrix[3:nrow(this.matrix),ncol(this.matrix)]   # or
this.matrix[3:dim(this.matrix)[1],dim(this.matrix)[2]]

As you can see, the R version requires more typing, and I am a lousy
typist.

With this in mind, I wanted to try to implement something like this in
R.  It seems like that in order to be able to do this, I would have to
be able to access the parse tree of the expression currently being
evaluated by the interpreter from within my End function-- is this
possible?  Since the "[" and "[[" operators are primitive I can't see
their arguments via the call stack functions...

Anyone got a workaround?  Would anybody else like to see this feature
added to R?

Thanks,
Mike



More information about the R-help mailing list