[R] Deleting the last value of a vector

jim holtman jholtman at gmail.com
Mon Apr 18 14:21:10 CEST 2011


Why not use 'head'

> head(1:10, -1)
[1] 1 2 3 4 5 6 7 8 9
> head(1, -1)
numeric(0)
> head(integer(0), -1)
integer(0)


On Mon, Apr 18, 2011 at 8:13 AM, Kenn Konstabel <lebatsnok at gmail.com> wrote:
> On Mon, Apr 18, 2011 at 4:14 AM, helin_susam <helin.susam at gmail.com> wrote:
>> if you have a vector like as follows;
>>
>> r=c(1,2,3,4,5)
>>
>> then use
>>
>> r2=r[1:length(r)-1]
>
> Umm ... this works and gives the intended answer but does so in an ugly way --
>
> 1:length(r)-1 is equivalent to (1:length(r))-1 or 0:(length(r)-1) --
> in other words, you get a sequence from 0 to 4. The result of r[0] is,
> curiously, integer(0) (but if you think about it, it might just as
> well be an error), so you get the intended result but what you
> probably actually meant is
>
> r2=r[1:(length(r)-1)]
>
> # or
>
> r2=r[1:seq_len(length(r)-1)]
>
>
> KK
>
> ______________________________________________
> 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.
>



-- 
Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?



More information about the R-help mailing list