Есть ли способ получить 75-й процентиль в функции SummaryBy в R? - PullRequest
1 голос
/ 01 апреля 2020

Я пытаюсь свернуть свой набор данных в среднее и 75-й процентили переменной, но я не могу найти правильный способ заявить, что я хочу 75-й процентиль. Код ниже.

six_month_agg <- summaryBy(pd ~ industry + region + date, FUN=c(mean, 0.75), data=six_month_pd)

1 Ответ

1 голос
/ 01 апреля 2020

Мы можем использовать quantile

library(doBy)
summaryBy(pd ~ industry + region + date, FUN= 
           function(x) c(Mean = mean(x), Quantile = quantile(x, probs = 0.75)), data=six_month_pd)

Используя воспроизводимый пример

data(warpbreaks)
out <- summaryBy(breaks ~ wool + tension, warpbreaks, FUN=function(x)
     c(Mean = mean(x), Quantile = quantile(x, probs = .75)))

str(out)
#'data.frame':  6 obs. of  4 variables:
# $ wool               : Factor w/ 2 levels "A","B": 1 1 1 2 2 2
# $ tension            : Factor w/ 3 levels "L","M","H": 1 2 3 1 2 3
# $ breaks.Mean        : num  44.6 24 24.6 28.2 28.8 ...
# $ breaks.Quantile.75%: num  54 30 28 31 39 21
...