Ventana corredera en R

Tengo un Dataframe DF, con dos columnas A y B que se muestran a continuación:

A                    B                  
1                    0             
3                    0               
4                    0                   
2                    1                    
6                    0                    
4                    1                     
7                    1                 
8                    1                     
1                    0   

Un enfoque de ventana deslizante se realiza como se muestra a continuación. La media se calcula para la columna B en una ventana deslizante de tamaño 3 que se desliza en 1 usando: rollapply (DF $ B, ancho = 3, por = 1). Los valores medios para cada ventana se muestran en el lado izquierdo.

    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

Ahora, para cada fila / coordenada en la columna A, se consideran todas las ventanas que contienen la coordenada y deben retener el valor medio más alto que da los resultados como se muestra en la columna "salida".

Necesito obtener la salida como se muestra arriba. La salida debería gustar:

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

¿Alguna ayuda en R?

Respuestas a la pregunta(2)

Su respuesta a la pregunta