[R] Determining Index of Last Element in Vector

Alan Lue alan.lue at gmail.com
Sun Apr 25 21:36:15 CEST 2010


Those are great solutions.  Thanks so much for your help.

Yours,
Alan


On Sun, Apr 25, 2010 at 11:43 AM, David Winsemius
<dwinsemius at comcast.net> wrote:
>
> 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
>
>



-- 
Alan Lue
Master of Financial Engineering
UCLA Anderson School of Management



More information about the R-help mailing list