美文网首页
R语言中fivenum与quantile()函数算法

R语言中fivenum与quantile()函数算法

作者: tianzhanlan | 来源:发表于2019-12-04 15:47 被阅读0次
fivenum()函数:

返回五个数据:最小值、下四分位数数、中位数、上四分位数、最大值
对于奇数个数字=5,fivenum()先排序,依次返回最小值、下四分位数、中位数、上四分位数、最大值

> fivenum(c(1,12,40,23,13))
[1]  1 12 13 23 40

对于奇数个数字>5,fivenum()先排序,我们可以求取最小值,最大值,中位数。在排序中,最小值与中位数中间,若为奇数,取其中位数为下四分位数,若为偶数,取最中间两个数的平均值为下四分位数;在排序中,中位数与最大值中间,若为奇数,取其中位数为上四分位数,若为偶数,取最中间两个数的平均值为上四分位数;

> fivenum(c(2,6,20,8,10,120,30,130,250))
[1]   2   8  20 120 250
> fivenum(c(2,6,20,13,8,10,120,30,130,140,250))
[1]   2   9  20 125 250

对于偶数个数字=4,我们可以先求取最小值,最大值。中位数由最中间相邻的数取平均求出;下四分位数由最小值与其相邻的数求出;上四分位数由最大值与其相邻的数求出;

> fivenum(c(1,10,23,8))
[1]  1.0  4.5  9.0 16.5 23.0

对于偶数个数字>4,排序,在排序中,中位数为最中间两个数的平均值,最小值与中位数前一个数中间,若为奇数,取其中位数为下四分位数,若为偶数,取最中间两个数的平均值为下四分位数;在排序中,中位数后一个数与最大值中间,若为奇数,取其中位数为上四分位数,若为偶数,取最中间两个数的平均值为上四分位数;

> fivenum(c(1,2,3,4,8,10,11,12,14,23))
[1]  1  3  9 12 23
> fivenum(c(1,2,3,8,10,11,14,23))
[1]  1.0  2.5  9.0 12.5 23.0

fivenum()函数或者通过计算位置推出分位数,即:
位置:y=p*(n-1)+1,n为数值个数;
若y为整数,则该位置的数即为所求分位数的值,若y为分数,将该位置前后的两数算数平均即可。

quantile()函数:

R语言中的quantile()是分位数函数,其算法是加权平均,第N个分位数就表示数据集中有N%的数据小于它。
默认情况下,quantile()会告诉你数据集0%,25%,50%,75%,100%位置处的数据,具体算法为:
位置:y=p*(n-1)+1,然后根据位置进行加权平均。
以1-10为例,20%分位数为例,首先位数=1+(10-1)*20%=2.8,所以此分位数在第二和第三个数之间,更靠近第三个数(2<2.8<3),算法:2*0.2+3*0.8=2.8,权重即越靠近某值,其权重越大,靠近3,则权重为0.8,越远离某值,其权重越小,远离2,则权重为0.2,两个权重和为1。

> quantile(c(1,3,5,7,9,11,13,15))
  0%  25%  50%  75% 100% 
 1.0  4.5  8.0 11.5 15.0 

25%分位数:y=0.25*(8-1)+1=2.75;s=3*0.25+5*0.75=4.5
75%分位数:y=0.75*(8-1)+1=6.25;s=11*0.75+13*0.25=11.5

相关文章

  • R语言中fivenum与quantile()函数算法

    fivenum()函数: 返回五个数据:最小值、下四分位数数、中位数、上四分位数、最大值对于奇数个数字=5,fiv...

  • R语言入门section3

    百分位数quantile() quantile()和fivenum()的本质差别在于,quantile()函数的算...

  • quantile与fivenum函数

    转自:http://blog.sina.com.cn/s/blog_a184ae810102xqwe.html q...

  • R函数学习-quantile()

    在R语言中取百分位比用quantile()函数,下面举几个简单的示例: 1、求某个百分位比 2、产生一个序列百分位...

  • R programming - WEEK4

    参考文献 R语言实例-数据过滤grep正则表达式R 语言中,数据框依据不同列进行排序R语言rank函数详细解析R语...

  • QQ图

    quantile-quantile plots理论分位数和实际分位数的散点图 R语言自带qq图: 简单实现:

  • R四大高效编程神器——apply家族

    本节提要:apply()函数sapply()函数lapply()函数tapply()函数 熟悉R编程的人都知道R语...

  • 左手Python右手R

    R语言函数在Python中的实现: 1、生成等差数列 (1)R语言中seq()函数 seq(from,to,len...

  • R语言中的switch函数用法

    R语言中的switch与其它语言中的switch有很大区别。 在R中,switch函数的语法形式如下: 其中,ex...

  • 判别分析

    http://www.docin.com/p-1401911846.html R语言中的线性判别分析R语言分类算法...

网友评论

      本文标题:R语言中fivenum与quantile()函数算法

      本文链接:https://www.haomeiwen.com/subject/khhlgctx.html