[R] Determining Index of Last Element in Vector

Chuck Cleland ccleland at optonline.net
Sun Apr 25 20:22:20 CEST 2010


On 4/25/2010 2:10 PM, Alan Lue wrote:
> Hi,
> 
> Is there a way to specify the last element of a vector, similar to "end" in
> MATLAB?
> 
>   v[end]
> 
> would be MATLAB for
> 
>   v(length(v))
> 
> in R.
> 
> While `v(length(v))' does yield the last element, that approach fails in the
> following,
> 
>   rep(v, each=2)[-c(1,length(v))]
> 
> which is meant to duplicate all elements of `v' except for the first and
> last.  (I.e., if `v <- 1:4', then we want '1 2 2 3 3 4'.)

v <- 1:4

rep(v, c(1, rep(2, length(v) - 2), 1))
[1] 1 2 2 3 3 4

> So the question is, is there a better way specify the last element of a
> vector?  If not, is there a better way to duplicate all elements of a vector
> except for the first and last?  (I know you can achieve this using two
> lines, but I'm writing because I want to do it using one.)
> 
> Alan

-- 
Chuck Cleland, Ph.D.
NDRI, Inc. (www.ndri.org)
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 512-0171 (M, W, F)
fax: (917) 438-0894



More information about the R-help mailing list