我有dplyr的问题,或者我无法弄清楚如何正确编码分位数部分。
我有一个数据,我希望按X和Y分组,然后计算每组中a的均值
dmean %>%
group_by(x,y) %>%
summarise(mean=mean(a))
这部分有效,没问题。如何继续使用代码获得每组最低10%和最高10%的百分位数?
您可以在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