# [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
> 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.

```