Subconjunto de series de tiempo para que las filas seleccionadas difieran en un cierto tiempo mínimo

Estoy usando un data.table en R para almacenar una serie de tiempo. Quiero devolver un subconjunto de modo que las filas sucesivas para los tiempos seleccionados estén al menos N segundos separados de la última fila seleccionada, p. si tengo

library(data.table)
x <- data.table(t=c(0,1,3,4,5,6,7,10,16,17,18,20,21), v=1:13)
x
     t  v
 1:  0  1
 2:  1  2
 3:  3  3
 4:  4  4
 5:  5  5
 6:  6  6
 7:  7  7
 8: 10  8
 9: 16  9
10: 17 10
11: 18 11
12: 20 12
13: 21 13

y quiero muestrear filas que estén separadas por al menos 5 segundos, comenzando desde la primera fila, luego debería obtener una tabla de datos con pares de tiempo / valor:

y <- x[...something...]
y
     t  v
 1:  0  1
 2:  5  5
 3: 10  8
 4: 16  9
 5: 21 13

Las muestras de tiempo tampoco tienen que estar espaciadas regularmente, por lo que no puedo tomar cada M filas. Por supuesto, podría hacer esto recorriendo las filas data.table manualmente, pero me pregunto si hay una manera más conveniente de expresar esto usando la indexación data.tables.

Respuestas a la pregunta(1)

Su respuesta a la pregunta