Contar o número de itens anteriores por grupo em R [duplicado]

Esta pergunta já tem uma resposta aqui:

Adicionando uma coluna de contador para um conjunto de linhas semelhantes em R [duplicado] 1 resposta

Gostaria de criar uma nova variável que conte o número de itens anteriores em um por grupo. Aqui está o que eu quero dizer, pegando oesoph conjunto de dados como um exemplo.

primeiro eu classifico o conjunto de dados pelo meu por grupoesoph$agegp, esoph$alcgp e uma coluna de valor adicional-esoph$ncontrols.

Isso me fornece o seguinte conjunto de dados

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

Agora, eu gostaria de criar uma nova variável com algum tipo de índice, aumentando em um a cada linha. Sempre que o próximo grupo começar, o índice voltará para 1.

A tabela resultante seria a seguinte (com a coluna 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
...

Como calculo esta coluna?

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion