I have a `data_frame` where a character variable `x` changes in time. I want to count the number of times it changes, and fill a new vector with this count.

```
df <- data_frame(
  x = c("a", "a", "b", "b", "c", "b"),
  wanted = c(1, 1, 2, 2, 3, 4)
)
  x wanted
1 a      1
2 a      1
3 b      2
4 b      2
5 c      3
6 b      4

```

This is similar to, but different from `rle(df$x)`, which would return 

```
Run Length Encoding
  lengths: int [1:4] 2 2 1 1
  values : chr [1:4] "a" "b" "c" "b"

```

I could try to `rep()` that output. I have also tried this, which is awfully close, but not for reasons I can't figure out immediately:

```
 df %>% mutate( 
   try_1 = cumsum(ifelse(x == lead(x) | is.na(lead(x)), 1, 0)) 
   )
Source: local data frame [6 x 3]

  x wanted try_1
1 a      1     1
2 a      1     1
3 b      2     2
4 b      2     2
5 c      3     2
6 b      4     3

```

It seems like there should be a function that does this directly, that I just haven't found in my experience.