5.1R内置的分布
分布是描述一个样本数据最核心、最重要的方式。R内嵌了很多常用的统计分布,提供了四类函数:概率密度函数(density),累积分布函数(probability)、分位数(quantile)和伪随机数(random)。在R中分别用d,p,q,r表示这4个项目,后面接分布的英文名称或缩写。
5.2集中趋势的分析
5.2.1集中趋势的测度
描述统计分布集中趋势的指标主要是平均数、中位数、众数,也称为“平均指标”。这些指标的主要作用包括:
反映总体各单位变量分布的集中趋势和一般水平;
便于比较同类现象在不同单位之间的水平;
便于比较同类现象在不同时期的发展变化趋势或规律;
用于分析现象之问的依存关系。
5.2.2 R语言实现
函数summary()可以计算出一组数据的五数和均值。
>summary(cars$speed) Min.1stQu.MedianMean3rdQu.Max. 4.012.015.015.419.025.0
5.3 离散趋势的分析
5.3.1 离散趋势的测度
数据分布的离散程度主要靠极差、四分差、平均差、方差、标准差等统计指标来度量。在实际分析中,离散程度分析主要有以下作用:
衡量平均指标的代表性;
反映社会经济活动的均衡性;
研究总体标志值分布偏离正态的情况;
抽样推断等统计分析的一个基本指标。
5.3.2 R语言实现
可以通过函数range()计算极差。给出最小值和最大值两个点,再相减得到:
>m=range(cars$speed)
>m[2]-m[1]
[1]21
四分位差同样需要手动计算,比较便捷的方法是直接使用函数fivenum()
>q=fivenum(cars$speed)
>q[4]-q[2]
[1]7
R中的方差函数和标准差函数分别是var()和sd()R还有一个比较特殊的函数,即离差mad(),它用于计算中位数绝对偏差,具有渐近正态的一致性。
5.4数据的分布分析
5.4.1分布情况的测度
(1)偏度
(2)峰度
5.4.2R语言实现
在程序包timeDate中(或直接加载fBasics程序包),有直接计算偏度和峰度系数的函数,为skewness()和kurtosis()
>skewness(cars$speed)
[1]-0.1105533
attr(,"method")
[1]"moment"
>kurtosis(cars$speed)
[1]-0.6730924
attr(,"method")
[1]"excess"
5.5图形分析及R实现
5.5.1直方图和密度函数图
>hist(cars$speed,breaks=50,prob=T)#参数breaks设1直方图的组距,prob=T规定绘制密度直方图
>lines(density(cars$speed),col='blue')#用核密度估计函数density(),绘制密度曲线图
5.5.2 QQ图
QQ图用于直观验证一组数据是否来自某个分布,或者验证某两组数据是否来自同一族的分布。在教学和软件中常用QQ散点图来检验数据是否来自于正态分布。QQ图是正态分位数-分位数图,横轴是理论值,纵轴是样本值,若样本数据近似服从正态分布,那么QQ图上的散点应均匀地分布在直线y=xσ+μ附近,这条直线的斜率是正态分布的
标准差J,截距是均值刀。
>qqnorm(cars$speed)
>qqline(cars$speed)
5.5.3茎叶图
R中用函数stem()绘制茎叶图
stem(x,scale=1,width=80,atom=1e-08)
其中,x是数据向量,scale控制茎叶图的长度,width控制绘图的宽度,atom是容差。
> set.seed(111)
> s=sample(cars$speed,25)
> stem(s)
The decimal point is 1 digit(s) to the right of the |
0 | 44
0 | 779
1 | 011233344
1 | 5557889
2 | 0344
5.5.4箱线图
> boxplot(cars$speed)
5.5.5经验分布图
在R中函数ecdf()给出样本的经验分布,通过plot()绘制
ecdf(x) plot (x,…,ylab="Fn (x)”,verticals=FALSE,col.01line="gray70”,peh=19)