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

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

a=1:10
summary(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,]

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容