У меня большой фрейм данных с 600 000 строк, упорядоченных по DateTime (день / месяц / год / час) с 1950-2017 гг. Мне плевать на минуты. Я хотел бы посчитать количество последовательных нулей в столбце значений. Затем, когда появляется ненулевое значение, счет останавливается и возобновляется снова, когда появляется ноль. Пример кадра данных можно увидеть ниже.
Year Month Day Hour Value DateTime
1950 1 1 0 0 1/1/1950 12:00:00 AM
1950 1 1 1 0 1/1/1950 1:00 AM
1950 1 1 2 0 1/1/1950 2:00 AM
1950 1 1 3 .05 1/1/1950 3:00 AM
1950 1 1 4 .01 1/1/1950 4:00 AM
1950 1 1 5 0 1/1/1950 5:00 AM
Я пытался использовать мутирование DateTime, затем группировать по (Год, Месяц), затем суммировать (Consecutive = list (rle (cumsum (c (TRUE), (Concepttive),
затем напишите это как CSV. но я не могу понять это полностью.
Я отчаянно пытаюсь получить что-то похожее на это.
Year Month Consecutive
1950 1 3
1950 1 1
Где 3 под последовательным символом соответствует трем нулям в ряду. По сути, я ищу код, который подсчитывает количество нулей, а затем помещает его в новый фрейм данных, которым я могу манипулировать.