input sequential numbers without specific end in a data frame's column in r

I would like to give a sequence of numbers to a new column to a data frame. But this sequence will repeat several times based on a value in another column. (i.e It starts from 1 until that specific value will be changed to other value).

My problem is how to define the ending point for each sequence in r.

A part of my data frame with the column "V2" which I intend to add:

```  V1      V2(new added column with sequential numbers)
12      1
12      2
12      3
12      4
12      5
13      1
13      2
13      3
13      4
13      5
13      6
14      1
14      2
14      3
14      4
```

I tried to use the following code, which was not working!

```count <- table(df\$V1)
c <- as.integer(names(count)[df\$V1==12])
repeat{
df\$V2<- seq(1,c, by=1)
if(df\$V1!=12){
break
}
}
```

It sounds like you might be looking for rle since you're interested in any time the "V1" variable changes.

Try the following:

```> sequence(rle(df\$V1)\$lengths)
[1] 1 2 3 4 5 1 2 3 4 5 6 1 2 3 4
```

rle is a very good solution but you could also have used ave:

```tab\$V2 <- ave(tab\$V1, tab\$V1, FUN=seq_along)
```

hth

Well Ananda beats my effort:

```vec = numeric(0)
for(i in unique(df\$V1)){
n = length(df\$V1[df\$V1 == i])
vec = c(vec, 1:n)
}
```