1
こんにちは、私はdplyr
を使用しているすべての行の変数の平均を残してみようとしています。 dplyr
が提供する便利な機能がrow_number()
と呼ばれるので、私はこのようにそれを使用すると考えていた:Rでdplyrを使用して平均を1つ残して計算するにはどうすればよいですか?
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