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