Cuente el número de elementos anteriores por grupo en R [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Agregar una columna de contador para un conjunto de filas similares en R [duplicado] 1 respuesta

Me gustaría crear una nueva variable que cuente el número de elementos anteriores en un grupo. Esto es lo que quiero decir, tomando elesoph conjunto de datos como ejemplo.

primero clasifico el conjunto de datos por mi por grupoesoph$agegp, esoph$alcgp y una columna de valor adicional-esoph$ncontrols.

Esto me da el siguiente conjunto de datos

x<-esoph[order(esoph$agegp, esoph$alcgp, -esoph$ncontrols ), ]
x

   agegp     alcgp    tobgp ncases ncontrols
1  25-34 0-39g/day 0-9g/day      0        40
2  25-34 0-39g/day    10-19      0        10
3  25-34 0-39g/day    20-29      0         6
4  25-34 0-39g/day      30+      0         5
5  25-34     40-79 0-9g/day      0        27
6  25-34     40-79    10-19      0         7
8  25-34     40-79      30+      0         7
7  25-34     40-79    20-29      0         4
9  25-34    80-119 0-9g/day      0         2
11 25-34    80-119      30+      0         2
...

Ahora, me gustaría crear una nueva variable con algún tipo de índice, aumentando en uno en cada fila. Cada vez que comienza el siguiente por grupo, el índice vuelve a 1.

La tabla resultante sería la siguiente (con la columna de índice adicional):

   agegp     alcgp    tobgp ncases ncontrols index
1  25-34 0-39g/day 0-9g/day      0        40     1
2  25-34 0-39g/day    10-19      0        10     2
3  25-34 0-39g/day    20-29      0         6     3
4  25-34 0-39g/day      30+      0         5     4
5  25-34     40-79 0-9g/day      0        27     1
6  25-34     40-79    10-19      0         7     2
8  25-34     40-79      30+      0         7     3
7  25-34     40-79    20-29      0         4     4
9  25-34    80-119 0-9g/day      0         2     1
11 25-34    80-119      30+      0         2     2
...

¿Cómo calculo esta columna?

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta