在医学统计分析中,对于连续变量我们总是需要了解数据的分布状态,是正态分布数据还是偏态分布数据,只有了解了数据的分布状态才可以进行后续的统计分析工作。

正态性检验方法主要包括图示法和假设检验法两大类。图示法包括直方图or核密度图和QQ图orP-P图;常用的假设检验法主要包括Shapiro-Wilk检验(Shapiro检验)和Kolmogorov-Smirnov检验。

判断数据是否分布正态,我们通常先做出直方图或者核密度图来整体评估数据是否是正态分布,若数据分布偏态严重或者尖峰,可认为数据不符合正态分布;如果从图形上不容易判断数据的分布状态,再利用其它检验方法对数据进行正态性检验。我们通常会结合多个方法来综合判断数据是否是正态分布。

一、图示法

1、直方图

直方图(histogram)是用于展示分组数据分布的一种图形,它是用矩形的宽度和高度(即面积)来表示频数分布的。绘制该图时,在平面直角坐标系中,用横轴表示数据分组,纵轴表示频数或频率,这样就形成了一个矩形(即直方图)。

直方图实现代码:

hist(x)

R语言中均值为0的正态性假设检验 r语言 正态性检验_r语言

2、Q-Q图

Q-Q图实现代码:

seed(100)

x<-rnorm(100)

library(car)

qqnorm(x)

qqline(x)

结果大致呈现出一条直线,可判断数据大致符合正态分布。

R语言中均值为0的正态性假设检验 r语言 正态性检验_数据分析_02

二、假设检验法

当图形法不能准确判断数据是否正态分布资料时,可采用假设检验的方法来判断。正态性检验方法的选择和样本量有关:在医学统计分析中我们常常以50为分界点,对于50以内的样本量我们常采用Shapiro-Wilk检验分析,对于样本量大于等于50的数据,常采用Kolmogorov-Smirnov检验分析。(在SPSS常以5000为分界点,在SAS中常以2000为分界点,但在医学研究中50例就算是较大样本了。)

1、当样本量大于等于50时,采用kolmogorov-Smirnov检验;

> ks.test(x,"pnorm")  #样本量大于等于50

	One-sample Kolmogorov-Smirnov test

data:  x
D = 0.073373, p-value = 0.6546
alternative hypothesis: two-sided

2、当样本量小于50时,采用Shapiro-Wilk检验。

> shapiro.test(x)      #样本量小于50

    Shapiro-Wilk normality test

data:  x
W = 0.98836, p-value = 0.535

值得注意的是,检验结果P值>0.05时,我们认为数据是正态分布资料,P值<0.05时数据是偏态分布资料。