目录
一、用直方图检验crabs对象
二、用直方图检验beaver2对象
三、用QQ图检验数据是否服从正态分布
四、shapiro.test()函数
所谓正态分布又称高斯分布,许多统计学的理论都是假设所使用的数据服从正态分布。
一、用直方图检验crabs对象
检验数据是否服从正态分布,很简单的方法是可以用histogram()函数将数据导入,直接了解数据的分布而做推断。由于这个函数是在扩展包lattice内,所以使用前须先加载lattice包。
由上图我们判断该数据是服从正态分布的。
在上述histogram()函数中,我们在第1个参数中使用了如下公式:
~CW|sex
~:左边没有数据,右边有下列两个变量:
- CW:绘图是使用CW变量内容。
- sex:这是一个因子变量,F代表母螃蟹,M代表公螃蟹。
sex参数左边有"|",这是统计学符号,表示“基于……条件”,由此可以分开处理公螃蟹和母螃蟹的数据。
我们认为,上述两个数据均服从正态分布。
二、用直方图检验beaver2对象
上述数据与正态分布相比有较大的偏差。
三、用QQ图检验数据是否服从正态分布
R语言提供的qqnorm()函数可以绘制QQ图,我们可以通过所绘制的QQ图是否呈现一直线判断数据是否服从正态分布。另外,R语言还提供了一个qqline()函数,这个函数会在QQ图中绘一条直线,如果QQ图的点越接近这条直线,表示数据越接近正态分布。
由上图发现,数据趋近直线,所以上述数据是服从正态分布的。
接下来我们可以使用qqline()函数为上述QQ图增加一条直线,再观察结果。
由上述执行结果可以看到QQ图的确是非常趋近一条直线,所以更加确定上述数据是服从正态分布的。
由上图数据可以发现,数据没有趋近直线,所以上述数据是不服从正态分布的。
四、shapiro.test()函数
在前两节中,使用直方图显示数据来判断数据是否服从正态分布难免受到主客观因素的干扰,为了更客观地判断,可以使用shapiro.test()函数。
上述R语言程序传回的是一个列表对象。列表数据中最重要的元素是p.value。
p.value主要是反映数据样本服从正态分布的概率,p.value值越小服从正态分布的概率越小,通常用0.05做临界标准,如果值大于0.05,表示此数据服从正态分布。
由上述数据,服从正态分布。
不服从正态分布。
两个数据均服从正态分布。