1
嗨我試圖找到一個使用dplyr
所有行中的變量的平均值。由於dplyr
提供了一個名爲row_number()
方便的功能,我想我可以用這樣的:如何使用R中的dplyr來計算leave one out平均值?
library(dplyr)
iris %>%
tbl_df %>%
select(Sepal.Length) %>%
mutate(loo_avg=mean(Sepal.Length[-row_number()])) # leave one out average
但這返回這樣的結果:
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
.. ... ...
你如何解決這個問題?
也許這就是你要找的東西:http://stackoverflow.com/questions/35858876/calculate-group-mean-while-excluding-current-observation-using-dplyr/35859197#35859197 – mtoto
@mtoto那非常整潔! 。但是......如果我想使用比平均值更復雜的函數呢?我正在查看是否有使用子集的方法.. – Alby
請參閱鏈接問題中的akrun評論。 – mtoto