[R] Is there a better way than x[1:length(x)-1] ?

Petr Pikal petr.pikal at precheza.cz
Thu Aug 10 12:01:29 CEST 2006


Hi

On 9 Aug 2006 at 17:30, John McHenry wrote:

Date sent:      	Wed, 9 Aug 2006 17:30:47 -0700 (PDT)
From:           	John McHenry <john_d_mchenry at yahoo.com>
To:             	r-help at stat.math.ethz.ch
Subject:        	[R] Is there a better way than x[1:length(x)-1] ?

> Hi WizaRds,
> 
> In MATLAB you can do
> 
> x=1:10
> 
> and then specify
> 
> x(2:end)
> 
> to get 
> 
> 2 3 4 5 6 7 8 9 10
> 
> or whatever (note that in MATLAB the parenthetic index notation is
> used, not brackets as in R). The point is that 'end' allows you to
> refer to the final index point of the array.
> 
> Obviously there isn't much gain in syntax when the variable name is x,
> but when it's something like 
> 
> hereIsABigVariableName(j:end-i)
> 
> it makes things a lot more readable than 
> 
>  hereIsABigVariableName(j:length(hereIsABigVariableName)-i)
> 
> In R I could do:
> 
> n<- length(hereIsABigVariableName)
>  hereIsABigVariableName[j:n-i]
> 
> but I'd like to use something like 'end', if it exists.

It probably does not exist (but in R you never know :-)
and you can easily to construct it yourself

 x <- 1:10
 end <- function(x) length(x)
 x[2:end(x)]

 [1]  2  3  4  5  6  7  8  9 10
 >

HTH
Petr



> 
> Am I missing something obvious in R that does what 'end' does in
> MATLAB?
> 
> Thanks,
> 
> Jack.
> 
> 
> ---------------------------------
> 
>  [[alternative HTML version deleted]]
> 
> ______________________________________________
> 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 and provide commented,
> minimal, self-contained, reproducible code.

Petr Pikal
petr.pikal at precheza.cz



More information about the R-help mailing list