Dplyr计数逐个组,然后分配每个

问题描述 投票:1回答:1

我有dplyr的问题,或者我无法弄清楚如何正确编码分位数部分。

我有一个数据,我希望按X和Y分组,然后计算每组中a的均值

dmean %>%
  group_by(x,y) %>%
   summarise(mean=mean(a))

这部分有效,没问题。如何继续使用代码获得每组最低10%和最高10%的百分位数?

r dplyr mean quantile
1个回答
3
投票

您可以在summarise中放置几个​​表达式,如下所示:

library(dplyr)
mtcars %>% 
  group_by(cyl, am) %>% 
  summarise(mean = mean(mpg),
            quantile_10 = quantile(mpg, 0.1),
            quantile_90 = quantile(mpg, 0.9))
# A tibble: 6 x 5
# Groups:   cyl [?]
    cyl    am     mean quantile_10 quantile_90
  <dbl> <dbl>    <dbl>       <dbl>       <dbl>
1     4     0 22.90000       21.76       24.08
2     4     1 28.07500       22.38       32.85
3     6     0 19.12500       17.89       20.74
4     6     1 20.56667       19.96       21.00
5     8     0 15.05000       10.69       18.56
6     8     1 15.40000       15.08       15.72
© www.soinside.com 2019 - 2024. All rights reserved.