#r
Вопрос:
Мне нужно разделить свои данные так, чтобы при использовании facet_wrap у меня были верхние 50 процентилей за каждый год. Вот образец моих данных:
# A tibble: 10,519 x 3
Species Abundance Year
<chr> <dbl> <chr>
1 Astropecten irregularis 2 2009
2 Asterias rubens 14 2009
3 Echinus esculentus 1 2009
4 Pagurus prideaux 1 2009
5 Raja clavata 1 2009
6 Astropecten irregularis 4 2009
7 Asterias rubens 47 2009
8 Henricia sp. 2 2009
9 Ophiura ophiura 8 2009
10 Solaster endeca 1 2009
# ... with 10,509 more rows
Моя нынешняя стратегия такова:
Data <- All_years %>%
group_by(Species, Year) %>%
summarise(Abundance = sum(Abundance, na.rm = TRUE)) %>%
filter(quantile(Abundance, 0.50)<Abundance) %>%
filter(Abundance > 50)
Проблема в том, что это дает мне 50 лучших процентилей для всего набора, в то время как я хотел бы, чтобы он давал мне 50 лучших за каждый год, чтобы я мог затем отобразить его с помощью facet_wrap в ggplot.
Комментарии:
1. Я думаю, что вы можете просто
summarise
заменитьmutate
здесь (а затемungroup()
, чтобы фильтры применялись по группам), чтобы сохранить все наблюдения.2. Это, безусловно, дало более развернутые результаты, спасибо.