在R中按组查找超出百分比?

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

我有一个缺少一些值的数据集,我想找到每个组超过500,200,Ecoli中位数和第95个百分位数的百分比超限?

Site    Ecoli
A   234
A   450
A   500
A   1096
A   295
A   4567
A   2344
A   234
A   450
B   500
B   1096
B   295
B   4567
B   2344
B   
B   
B   
B   

我从此代码开始

table=dat %>% group_by(Site) %>% mutate(E.Coli>500)
r
1个回答
0
投票

按“站点”分组后,我们可以在逻辑条件下使用mean将其转换为百分比。如果要创建列,请在mutate]之后使用summarise而不是group_by

library(dplyr)
dat %>%
     group_by(Site) %>%
     summarise(PercExeedover500 = 100 *mean(E.Coli > 500, na.rm = TRUE),
               PercExeedover200 = 100 *mean(E.Coli > 200, na.rm = TRUE),
                Quantile95th = quantile(Ecoli, prob = .95, na.rm = TRUE))