1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| > dt <- data.table(ID = c("Luc", "Luc", "Luc", "Carine", "Carine", "Jean", "Jean"), SEXE = c("M", "M", "M", "M", "M", "F", "F"), AGE = c(18, 18, 18, 23, 23, 32, 32))
> dt
ID SEXE AGE
1: Luc M 18
2: Luc M 18
3: Luc M 18
4: Carine M 23
5: Carine M 23
6: Jean F 32
7: Jean F 32
> dt[, NUMERO := seq_len(nrow(dt))]
> dt[, NUMERO := min(NUMERO), by = ID]
> dt[, NUMERO := rep(1:length(rle(dt$NUMERO)$lengths), rle(dt$NUMERO)$lengths)]
> dt
ID SEXE AGE NUMERO
1: Luc M 18 1
2: Luc M 18 1
3: Luc M 18 1
4: Carine M 23 2
5: Carine M 23 2
6: Jean F 32 3
7: Jean F 32 3 |
Partager