[R] Re: Vector Manipulation
Gabor Grothendieck
ggrothendieck at gmail.com
Mon May 30 14:42:13 CEST 2005
x[cumsum(x!=0)!=0]
or
x[!!cumsum(!!x)]
will also do it.
On 5/30/05, ManojW <manojsw at gmail.com> wrote:
> OK...x[min(which(x!=0)):length(x)] does the trick!
>
> I guess the coffee is slowly but surely working! .
>
> Manoj
> ----- Original Message -----
> From: ManojW
> To: R-help
> Sent: Monday, May 30, 2005 2:12 PM
> Subject: Re: Vector Manipulation
>
>
> I should clarify that I tried x[cumsum(x)!=0] but the problem is that I might have negative numbers in the vector that can potentially make cumsum(x) equal to zero somewhere down the line in the vector.
>
> Manoj
> ----- Original Message -----
> From: ManojW
> To: R-help
> Sent: Monday, May 30, 2005 2:00 PM
> Subject: Vector Manipulation
>
>
> Dear All,
> For any given vector, I want to extract a sub-vector such that the new vector skips all zeros, if any , at the start of vector. Is it possible to achieve this w/o looping?
>
> E.G : > x = c(0,0,1,2,3,4,5,0,0,8,9)
> > y = somefunc(x);
> > y
> [1] 1 2 3 4 5 0 0 8 9
>
> In the example above, I want to skip the two leading zeroes till I hit the non-zero (1 in the above case). I also want to retain all zero after the first non-zero digit (again 1 in this case).
>
> Hope I am not confusing you guys. Thanks in advance for your help.
>
> Regards
>
> Manoj
>
>
>
>
> [[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
>
More information about the R-help
mailing list