Мой набор данных содержит несколько наблюдений для разных видов. У каждого вида разное количество наблюдений. Ищем быстрый способ в R вычислить среднее из 10% верхних значений для данной переменной для каждого вида.
Я выяснил, как получить заданное количество значений (т.е. 20 лучших значений).
clim6 <-setDT(range)[order(species, clim6),.SD[1:20],by=species]
write.csv(Bioclimlo6, file = "clim6.csv")
Я также знаю, что есть способ обрезать набор данных, чтобы сгенерировать среднее значение оставшегося набора данных, но я не уверен, как обрезать только нижние 90%.
mean(x, trim = 0, na.rm = FALSE)