¿Cómo calcular un promedio de dejar uno fuera usando dplyr en R?

Hola, estoy tratando de encontrar un promedio de dejar una variable en todas las filas usandodplyr. Ya quedplyr proporciona una función conveniente llamadarow_number(), Pensé que podría usarlo así:

library(dplyr)

iris %>% 
  tbl_df %>% 
  select(Sepal.Length) %>%
  mutate(loo_avg=mean(Sepal.Length[-row_number()]))  # leave one out average

Pero esto devuelve un resultado como este:

Source: local data frame [150 x 2]

   Sepal.Length loo_avg
          (dbl)   (dbl)
1           5.1     NaN
2           4.9     NaN
3           4.7     NaN
4           4.6     NaN
5           5.0     NaN
6           5.4     NaN
7           4.6     NaN
8           5.0     NaN
9           4.4     NaN
10          4.9     NaN
..          ...     ...

¿Cómo arreglas esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta