¿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?