以下に示す2つの列AとBを持つデータフレームDFがあります。
A B
1 0
3 0
4 0
2 1
6 0
4 1
7 1
8 1
1 0
以下に示すように、スライディング ウィンドウ アプローチが実行されます。rollapply(DF$B, width=3,by=1) を使用して、1 ずつスライドするサイズ 3 のスライディング ウィンドウで列 B の平均が計算されます。各ウィンドウの平均値が左側に表示されます。
A: 1 3 4 2 6 4 7 8 1
B: 0 0 0 1 0 1 1 1 0
[0 0 0] 0
[0 0 1] 0.33
[0 1 0] 0.33
[1 0 1] 0.66
[0 1 1] 0.66
[1 1 1] 1
[1 1 0] 0.66
output: 0 0.33 0.33 0.66 0.66 1 1 1 0.66
ここで、列 A の各行/座標について、座標を含むすべてのウィンドウが考慮され、列「出力」に示されている結果を与える最高平均値を保持する必要があります。
上記のように出力を取得する必要があります。出力は次のようになります。
A B Output
1 0 0
3 0 0.33
4 0 0.33
2 1 0.66
6 0 0.66
4 1 1
7 1 1
8 1 1
1 0 0.66
Rの助けはありますか?