分享

R获取数值向量的分位数值

 生信交流平台 2021-12-29

如果我们手上有一个数值向量,怎么用R去获取这个向量的各个分位数值呢?我们来看个具体的例子

a=1:10summary(a)

我们可以得到下面的结果,summary(a)一共得到6个数值,分别是a的最小值,1/4分位数,中值(2/4分位数),均值,3/4分位数和最大值。

四分位数(Quartile),即统计学中,把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值就是四分位数。

第一四分位数 (Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。

第二四分位数 (Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。

第三四分位数 (Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。

其实我们经常用的boxplot,也能展示这几个常用的数值(除了均值以外)

boxplot(a)

除了使用summary这个函数以外,我们还可以使用quantile这个函数

quantile(a)

默认情况下,quantile只会输出最小值,1/4分位数,中值(2/4分位数,3/4分位数和最大值,相比于summary少了一个均值。

这个函数除了可以输出固定这这个几个分位数值以外,还可以输出你指定的分位数值。

quantile(a,c(0,0.25,0.35,0.5,0.75,1))

接下来我们看看数值矩阵

b=matrix(1:20,nrow=4)summary(b)

默认会算出每一列的最小值,1/4分位数,中值(2/4分位数),均值,3/4分位数和最大值。

如果我们要取出每一列的中值,直接使用下面的方法是得不到数值的,是一个字符串。

summary(b)[3,]

这个时候我们可以使用apply函数

apply(b,2,summary)apply(b,2,summary)[3]

同样的,使用apply+quantile也可以实现

apply(b,2,quantile)apply(b,2,quantile)[3,]

为了方便大家交流学习,共同进步,我特地创建了微信交流群

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多