Мне кажется, это довольно простой вопрос, но хоть убей, я не могу найти ответа. У меня довольно стандартный фрейм данных, и я пытаюсь суммировать столбец значений до тех пор, пока они не достигнут некоторого значения (либо того точного значения, либо большего его), после чего он сбрасывает 1 в новый столбец (помеченный keep) и перезапускает суммирование с 0.
У меня есть столбец минут, разница между минутами, столбец сохранения и столбец совокупной суммы (пример, который я использую, намного чище, чем фактический полный набор данных)
minutes difference keep difference_sum
1052991158 0 0 0
1052991338 180 0 180
1052991518 180 0 360
1052991698 180 0 540
1052991878 180 0 720
1052992058 180 0 900
1052992238 180 0 1080
1052992418 180 0 1260
1052992598 180 0 1440
1052992778 180 0 1620
1052992958 180 0 1800
Столбец суммы разностей рассчитывался с помощью кода
caribou.sub$difference_sum<-cumsum(difference)
Что я хотел бы сделать, так это запустить приведенный выше код с условием, что, когда суммированное значение достигает 1470 или любого большего числа, он помещает 1 в столбец сохранения, а затем перезапускает суммирование после этого и продолжает работать по всему набору данных.
Заранее спасибо, и если вам понадобится дополнительная информация, дайте мне знать.
Айден
difference_sum
на 0 при достижении 1470? Немного более длинный набор примеров, в том числе, когдаdifference_sum
пересекает порог, может помочь. - person alexwhan   schedule 18.03.2013