я пытаюсь агрегированных данных, как это в R:Совокупные с обрезанными средств в 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 (т. е. производят 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-го процентиля), это будет с реальные данные, это просто для того, чтобы заставить агрегатную функцию работать по назначению. Благодаря!
FYI, если вы запустите 'mean (df $ e, trim = 0,1)', вы увидите, что результат - это функция, символ или символ. – hadley