[R] Determining Index of Last Element in Vector

David Winsemius dwinsemius at comcast.net
Sun Apr 25 20:43:05 CEST 2010


On Apr 25, 2010, at 2:22 PM, Chuck Cleland wrote:

> 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))]

Cleland's example works, but I thought you might be interested in  
ideas about why your approach did not. The length of you rep-ed vector  
was twice as long as the original so this method, which only adds a  
factor of two to the length argument, succeeds:

 >  rep(v, each=2)[-c(1,2*length(v))]
[1] 1 2 2 3 3 4

-- 
David.

>>
>> 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
>
> ______________________________________________
> R-help at r-project.org 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.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list