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.