Rで次のようなデータを集計しようとしています:
df = data.frame(c("a","a","a","a","a","b","b","b","b","b","c","c","c"))
colnames(df) = "f"
set.seed(10)
df$e = rnorm(13,20,5)
f e
1 a 20.09373
2 a 19.07874
3 a 13.14335
4 a 17.00416
5 a 21.47273
6 b 21.94897
7 b 13.95962
8 b 18.18162
9 b 11.86664
10 b 18.71761
11 c 25.50890
12 c 23.77891
13 c 18.80883
列fで集計し、一意のfタイプごとにeのトリム平均を取得します (つまり、3 行のデータを生成します)。
私は試した:
df2=data.frame(0)
df2=aggregate(df$e, by = "f",mean(df$e, trim=0.1))
次のエラーが発生しました:
Error in match.fun(FUN) :
'mean(df$e, trim = 0.1)' is not a function, character or symbol
オンラインでいくつかの検索を試みたところ、空になりました。私の実際のデータは約 30 個のe / fの値で構成されているので、この例の平均を実際にトリミングしないことは心配していtrim=0.1
ません (ポイントが上位 5 パーセンタイルと下位 5 パーセンタイルの外側にないため)。意図したとおりに機能する集計関数を取得するだけです。ありがとう!