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 respostaGostaria 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!