У меня есть датафрейм:
y <- c(3, 3, 3, 2, 2, 2, 2, 1, 1, 2)
z <- c(1, 1, 1, 2, 2, 3, 3, 3, 4, 4)
df <- data.frame(y, z)
> df
y z
1 3 1
2 3 1
3 3 1
4 2 2
5 2 2
6 2 3
7 2 3
8 1 3
9 1 4
10 2 4
Теперь я хочу создать идентификатор группы.Группы основаны на y и должны быть пронумерованы от 1 до n.Повторяющиеся числа для y относятся к одной группе.Кроме того, группы вложены в другие группы на основе z, поэтому равные числа для y представляют разные группы, если они находятся в разных группах в z.Это означает: для y существует 6 групп, для z 4 группы.Результат должен быть:
> df
y z group_id
1 3 1 1
2 3 1 1
3 3 1 1
4 2 2 2
5 2 2 2
6 2 3 3
7 2 3 3
8 1 3 4
9 1 4 5
10 2 4 6
Я рад любой помощи.