製品がその期間に販売促進されているかどうかを示すバイナリ変数のベクトルがあります。各プロモーションの期間とプロモーション間の期間を計算する方法を見つけようとしています。
promo.flag = c(1,1,0,1,0,0,1,1,1,0,1,1,0))
つまり、promo.flag
前の期間と同じ場合はrunning.total + 1
、それ以外の場合はrunning.total
1にリセットされます。
適用関数とcumsumで遊んでみましたが、実行中の合計作業の条件付きリセットを取得できません:-(
必要な出力は次のとおりです。
promo.flag = c(1,1,0,1,0,0,1,1,1,0,1,1,0)
rolling.sum = c(1,2,1,1,1,2,1,2,3,1,1,2,0)
誰かがRでこれを達成する方法に光を当てることができますか?