[R] Counting value changes

jim holtman jholtman at gmail.com
Sun Feb 19 04:25:19 CET 2012


For completeness, if you want to count all possible four transitions:

> x <- c(0,1,0,1,0,0,0,1,1,1,0,0,0,1)
> # lets keep count of the 4 different transitions that can happen
> indx <- cbind(head(x, -1), tail(x, -1)) %*% c(2, 1)
> table(indx) # 0=0-0, 1=0-1, 2=1-0, 3=1-1
indx
0 1 2 3
4 4 3 2
>


On Sat, Feb 18, 2012 at 7:33 PM, Sarah Goslee <sarah.goslee at gmail.com> wrote:
> Just for clarity, I changed your x a bit - in your version, the 0-1 and 1-0
> change occurred the same number of times.
>
> If all your values are 0 and 1, this will work:
>
>> x <- c(0,1,0,1,0,0,0,1,1,1)
>> table(diff(x))
>
> -1  0  1
>  2  4  3
>> sum(diff(x) == 1)
> [1] 3
>
> If other values can occur, it would need some tweaking.
>
> Sarah
>
> On Sat, Feb 18, 2012 at 2:09 PM, maris478 <maris478 at gmail.com> wrote:
>> Good afternoon,
>> I've encountered a little bit of a problem, would appreciate any help here.
>>
>> I made a small vector consisting of ones and zeros.
>> Something like this x <- c(0,1,0,1,0,0,1,0), and all I need is to count how
>> many times "0" becomes "1".
>> Tried various, of what I thought, methods with built in functions. Didn't
>> get any further.
>>
>> Thank you very much.
>
> --
> Sarah Goslee
> http://www.functionaldiversity.org
>
> ______________________________________________
> 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?
Tell me what you want to do, not how you want to do it.



More information about the R-help mailing list