如何在 R 中按组计算分位数?
在本文中,我们将讨论如何在 R 编程语言中按组计算分位数。
要获得所需的四分位数,请使用 quantile()函数。
Syntax:
quantile( data, probs)
Parameters:
- data: data whose percentiles are to be calculated
- probs: percentile value
为了对数据进行分组,我们使用 dplyr 模块。该模块包含一个名为 group_by() 的函数,其中必须传递要分组的列。
Syntax:
group_by(column_name)
为了找到分组数据的分位数,我们将使用 quantiles()函数调用 summarise 方法。
Syntax:
summarize( function )
示例 1 :通过以 0.5 的概率汇总一个四分位数,按组计算分位数
R
# import library
library(dplyr)
# create dataframe
df<-data.frame(x=c(2,13,5,36,12,50),
y=c('a','b','c','c','c','b'))
# create groups
# calculate quantiles by group
df %>% group_by(y) %>%
summarize(res=quantile(x,probs=0.5))
R
# import library
library(dplyr)
# create dataframe
df<-data.frame(x=c(2,13,5,36,12,50),
y=c('a','b','c','c','c','b'))
# create groups
# find quantiles
df %>% group_by(y) %>%
summarize(first=quantile(x,probs=0.25),
second=quantile(x,probs=0.5),
third=quantile(x,probs=0.75))
输出:
示例 2 :通过汇总概率为 0.25、0.5 和 0.75 的三个四分位数,按组计算分位数。
R
# import library
library(dplyr)
# create dataframe
df<-data.frame(x=c(2,13,5,36,12,50),
y=c('a','b','c','c','c','b'))
# create groups
# find quantiles
df %>% group_by(y) %>%
summarize(first=quantile(x,probs=0.25),
second=quantile(x,probs=0.5),
third=quantile(x,probs=0.75))
输出: