R: identifica una secuencia de elementos de fila por grupos en un marco de datos

Considere el siguiente marco de datos de muestra:

> df
   id name time
1   1    b   10
2   1    b   12
3   1    a    0
4   2    a    5
5   2    b   11
6   2    a    9
7   2    b    7
8   1    a   15
9   2    b    1
10  1    a    3

df = structure(list(id = c(1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 2L, 1L), 
    name = c("b", "b", "a", "a", "b", "a", "b", "a", "b", "a"
    ), time = c(10L, 12L, 0L, 5L, 11L, 9L, 7L, 15L, 1L, 3L)), .Names = c("id", 
"name", "time"), row.names = c(NA, -10L), class = "data.frame")

Necesito identificar y registrar todas las secuencias.seq <- c("a","b"), donde "a" precede a "b" en función de la columna "tiempo", para cada id. No se permiten otros nombres entre "a" y "b". La longitud real de la secuencia es al menos 5. El resultado esperado para los datos de la muestra es

  a  b
1 3 10
2 5  7
3 9 11

Hay una pregunta similarEncontrar filas en el marco de datos R donde el valor de una columna sigue una secuencia. Sin embargo, no está claro para mí cómo tratar con la columna "id" en mi caso. ¿Es una forma de resolver el problema usando "dplyr"?

Respuestas a la pregunta(3)

Su respuesta a la pregunta