多个样本的非参数检验的两两比较
关键词:两独立样本非参数检验,两相关样本非参数检验,两配对样本非参数检验
由于各个样本的总体呈偏态分布或方差不齐,无法使用方差分析中的两两比较,检验其总体分布是否相同,常用的非参数秩和检验方法是Kruskal-Wallis 法,在SAS 软件中实现的过程步有以下三种方法: NPAR1 WAY 过程、FREQ过程以及RAN K 和ANOVA 两过程的结合,而样本间两两比较则可以通过RAN K 和ANOVA 两过程的结合,采用MEANS 语句来实现,即先对原始数据进行排序,求相应的秩次,然后对秩进行参数的多重比较。
调用FREQ 过程产生的第二个CMH统计量” row mean scores differ” (Kruskal-Wallis结果)、NPAR1 WAY 过程产生的卡方统计量以及ANOVA 过程产生的R-Square 与υ总(总自由度)之积,即为Kruskal-Wallis 检验结果。本文种ANOVA 过程步中的MEANS 规定采用LSD 法进行两两比较,也可使用其他方法。
data sample ;
do group = 1 to 3 ;
input x @@;
output ;
end ;
cards ;
9.8 0.6 0.4 10.2 1.2 1.9 10.6 2.0 2.2 13.0
2.4 2.5 14.0 3.1 2.8 14.8 4.1 3.1 15.6 5.0
3.7 15.6 5.9 3.9 21.6 7.4 4.6 24.0 13.6 7.0
;
proc freq ;
tables group*x/ scores = rank cmh2 noprint;
run;
proc npar1way wilcoxon;
class group;
var x;
run;
proc rank data =sample out = a ;
var x;
ranks r;
proc anova;
class group ;
model r = group ;
means group/ lsd snk ;
run;
quit;
, M+ g. I- p* z3 `. v8 ~
成组设计的等级资料或频数表资料多个样本及其两两比较
这种类型的资料为成组设计的等级资料或频数表资料,但频数表资料时各个样本的总体呈偏态分布或方差不齐,检验其总体分布是否相同,常用的非参数秩和检验方法也是Kruskal-Wallis 法,在SAS 软件中实现的过程步同上,程序略有差别。
data sample2;
do effect = 1 to 4 ;
do group = 1 to 3 ;
input f @@;
output ;
end ;
end ;
cards ;
10 24 48 17 41 65 19 33 36 4 7 8
;
proc freq;
tables group*effect/ scores = rank cmh2 noprint;
weight f;8 [! n! \* V5 U/ C+ {2 T# l& G
run;
data a;
set sample2;
do i = 1 to f ;
output;
end ;
run;
proc npar1way wilcoxon data=a;
var effect;
class group;
run;
proc rank data=a out=b;
var effect ;
ranks r;
run;
proc glm;
class group;
model r = group ;
means group/lsd snk tukey dunnett ;
run;
quit;
( c3 ` k0 D3 t! o. ^* ]
随机区组设计的定量资料多个样本及其两两比较
各个样本的总体呈偏态分布或方差不齐,检验其总体分布是否相同,常用的非参数秩和检验方法是Friedman 法,在SAS 软件中实现的过程步有以下两种方法: FREQ 过程以及RAN K和GLM 两过程的结合。各个样本两两比较可通过RAN K 和GLM两过程的结合, 采用LSMEANS 语句来实现
% Z! a) |# u, w
调用FREQ 过程产生的第二个CMH统计量和GLM 过程产生的R2 与(υ总-υ区组) 之积,即
为Friedman 检验结果。LSMEANS 语句规定对调整后的样本均数进行两两比较。
data sample3;
do block = 1 to 7 ;
do treat = 1 to 4 ;
input x @@;
output;
end;
end ;
cards ;
63 188 138 54 90 238 220 144 54
300 83 92 45 140 213 100 54 175
150 36 72 300 163 90 64 207 185 87
;
proc freq ;
tables block*treat*x/ scores = rank cmh2 noprint;
run;
proc sort data=sample3 out=a;
by block ;
run;
proc rank data=a out=b;
var x;
by block;
ranks r ;
run;
proc glm data=b ;
class treat block ;
model r = treat block/ ss1 ;
lsmeans treat/ stderr pdiff ;
run;
quit;
转载请注明:数据分析 » 多个样本的非参数检验的两两比较_两独立样本非参数检验