当前位置:K88软件开发文章中心编程全书编程全书02 → 文章内容

统计中集中趋势的分析及在R语言中的计算

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2019-1-3 3:02:33

:2018-07-11 13:25:59

集中趋势是指一组数据向某一中心值靠拢或集中的程度。主要包括平均值、众数、中位数和分位数。

先普及一下几个概念:

(1)总体

在数理统计中,我们把研究对象的全体元素构成的集合称为总体(或母体),而把组成总体的每个元素称为个体。如果总体包含有限个个体,则称为有限总体(或具体总体)。如果总体包含无限个个体,则称为无限总体(或抽象总体)。

(2)样本

把从总体X中随机抽检(或观察)n个个体的试验,称为随机抽样,简称抽样,n称为容量。

(3)样本均值

设X1, X2, ..., Xn是总体X中的一个样本,则统计量

(4)一组数据中出现次数最多的观测值叫做众数,用M0表示。众数测度数据的集中性趋势,一般在数据量较大的情况下,众数比较有意义。

(5)中位数

中位数简单讲就是数据排序位于中间位置的值,记为Me,即统计量

 中位数描述数据中心位置,对于对称分布的数据,均值接近中位数;偏态分布式指频数分布不对称,集中位置偏向一侧,数据的均值则与中位数不同。它的显著特点在于不受异常值的影响,具有稳健性。

(6)分位数

统计量

称为样本的p分位数。常用的有五分位数,由次序样本的前0%,25%, 75%, 100%位置的5个数构成。

下面探讨在R语言中,如何实现。

(1)样本均值

在R中,mean()函数用于计算样本的均值,其使用格式为:

mean(x, trim=0, na.rm = FALSE, ...)

其中,参数x为计算对象,可以是向量、矩阵、数组或数据框;trim用于设置计算均值前去掉两端数据的百分比,即计算结尾均值,取值在0~0.5之间;na.rm为逻辑值,指示是否允许有缺失值(NA)的情况,默认为FALSE(不允许);...为附加参数,

样本均值举例如下:

某班级20名学生的英语成绩为88,78,67,69,62,100,73,45,70,60,93,97,84,82,81,73,68,76,77,92。计算其均值

x<-c(88,78,67,69,62,100,73,45,70,60,93,97,84,82,81,73,68,76,77,92)
mean(x)

结果是76.75

如计算结尾,则:

mean(x,trim=0.05)

则结果是:77.22

(2)计算众数

在R中,没有给出直接计算众数的函数,自己可以编写函数,或使用下面的语句获取众数。

tmp<-table(x)  #计算出x中每个值出现的次数
index<-which.max(tmp)  #找出最多次数的索引
tmp[index]  #输出对应的数据及次数

本例的结果形式如下:

73
  2

但此方法只能适用于求一个众数的情况。如果想找出具有多个众数(即有多个数据的频率相同且为最大者)的情况,可以使用下面的语句:

tmp<-table(x)
tmp.max<-max(tmp)
which(tmp==tmp.max)

若果令向量x的值为:12, 14, 16, 12, 15, 12, 15, 15;则会输出如下结果:

12    15
  1      3

(3)计算中位数

在R中,使用median()函数计算一组数据的中位数。其形式如下:

median(x, na.rm = FALSE, ...)

各参数的含义与求均值函数mean()相同。

接均值的例子:

median(x)

结果为:76.5

由均值(76.75)和中位数(76.5)可知,均值稍大于中位数,可以初步判断,所给样本数据呈右偏分布。

(4)计算分位数

R中使用quantile()计算分位数,其形式如下:

quantile(x, probs = seq(0, 1, 0.25), na.rm = FALSE, names = TRUE, type = 7, ...)

其中,参数x为数据对象;probs给出相应的百分位数;na.rm表示是否允许包含缺失值;names为逻辑值,指示是否为结果给出命名属性;type为分为数的算法,取值1~9,默认为7。

接均值的例子计算

quantile(x)
quantile(x,names=FALSE) #去掉各值的名字
fivenum(x)  #使用次函数可以直接计算出五个数
summary(x) #使用该函数可以计算出五数及均值

结果形式如下:

从结果中可以看出:quantile()函数默认可以直接计算出五个数:最小值、25%的四分位数、中位数、75%的四分位数和最大值。

本文为本站原创,如需转载,请给出本站及本文连接:翔宇亭IT乐园(http://www.k88.net)——统计中集中趋势的分析及在R语言中的计算http://www.k88.net/article/R/2018/6371.html


统计中集中趋势的分析及在R语言中的计算