У меня есть следующие данные:
df <- data.frame(week = rep(seq(1, 4, by=1), times = 3) )
week
1 1
2 2
3 3
4 4
5 1
6 2
7 3
8 4
9 1
10 2
11 3
12 4
Я хочу пометить каждую последующую серию 1: 4 буквой, чтобы получить следующий результат:
week episode
1 1 a
2 2 a
3 3 a
4 4 a
5 1 b
6 2 b
7 3 b
8 4 b
9 1 c
10 2 c
11 3 c
12 4 c
Я пробовал следующее, но это не различает отдельные последовательные прогоны последовательности 1: 4
data.frame(df, episode = letters[cumsum(c(1L, diff(df$week) > 1L))])
week episode
1 1 a
2 2 a
3 3 a
4 4 a
5 1 a
6 2 a
7 3 a
8 4 a
9 1 a
10 2 a
11 3 a
12 4 a