Найти процентные превышения по группам в R? - PullRequest
1 голос
/ 09 октября 2019

У меня есть набор данных с некоторыми пропущенными значениями, и я хочу найти процентное превышение более 500 200, медианного и 95-го процентиля Ecoli для каждой группы?

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)

1 Ответ

0 голосов
/ 09 октября 2019

После группировки по сайту, мы можем использовать 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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...