У меня есть набор данных журнала ЦП, который записывает данные с неравномерными интервалами.Для каждой строки я хотел бы посчитать количество строк, которые произошли в течение последней секунды этой частичной строки.Пример данных в первых двух столбцах, с ожидаемым выводом в третьем столбце.Для первых n строк, которые появляются менее чем за секунду от начала журнала, вывод равен NA.
timestamp (POSXIct) data output
2018-09-19 00:53:48.014469 123 NA
2018-09-19 00:53:48.031590 123 NA
2018-09-19 00:53:48.052569 123 NA
...
... 56 other rows not shown
...
2018-09-19 00:53:48.015465 123 60 --> first row that is >=1 sec from the start of the file
2018-09-19 00:53:48.017463 123 61 --> 61 rows within 1 sec from this time including this row
2018-09-19 00:53:48.018862 123 62 --> 62 rows within 1 sec from this time
2018-09-19 00:53:48.024468 123 62
2018-09-19 00:53:48.031869 123 61
2018-09-19 00:53:48.081869 123 50 --> 50 rows within 1 sec from this time
В данный момент я использую прямой цикл for
, но времячрезмерно для разумного количества данных.Я смотрел на попытку использовать сочетание этажей, совокупных подсчетов, findInterval, суммирования и т. Д., Но я не мог найти способ, который работает, учитывая период неравномерного интервала.Есть идеи по ускорению внедрения?