2

現在、次のコードを使用して、減衰率 y の減衰 (アドストック) 関数を作成しています。

adstock <- function(x, decay=y) filter(x, decay, method = "recursive")

そして、これは望ましい結果をもたらします。

ただし、プールされたデータのセットがあり、各領域がグループ化されて時系列に実行される場合、2 番目の領域の開始には、最初の領域の終了からの減衰が残ります。第三地域なども同様...

(n>1) 領域の最初の観測値が元の値と同じままで、その後のすべての値に減衰式が適用されるようにする最善の方法は何でしょうか?

例えば:

Weeks <- c("01/01/2012","08/01/2012","15/01/2012","22/01/2012","29/01/2012","01/01/2012","08/01/2012","15/01/2012","22/01/2012","29/01/2012","01/01/2012","08/01/2012","15/01/2012","22/01/2012","29/01/2012")
Regions <- c("North","North","North","North","North","South","South","South","South","South","West","West","West","West","West")
Variable <- c(5,6,4,8,6,19,20,5,7,8,0,5,4,6,7)
exampledata <- data.frame(Weeks, Regions, Variable)

新しい関数は、各領域に対してのみ減衰関数を実行する必要があります。そのため、「西」地域の行 11、2012 年 1 月 1 日は常にゼロになるはずです。

4

1 に答える 1