最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

应用SAS软件实现非参数资料Wilcoxon—Wilcox检验

IT圈 admin 35浏览 0评论

2024年1月24日发(作者:道司晨)

应用SAS软件实现非参数资料Wilcoxon—Wilcox检验

42?浙江省医学科学院2007年3月(总第68期)

应用SAS软件实现非参数资料Wilcoxon—Wilcox检验

顾刘金

研究工作中许多资料的统计不适宜采

用参数检验,如等级资料,非正态分布或虽

呈正态分布但方差不齐,对这些资料的推断

性统计,除了部分资料进行数据转换后可进

行参数检验外,很大一部分资料需进行非参

数检验.许多统计软件都提供了非参数检验

的程序,如SAS统计软件的NPAR1WAY过

程【",但如需进一步作多样本资料的两两比

较或各处理组与对照组比较,则没有直接的

程序,需进行复杂的编程才能完成.本文介

绍非参数检验的Wilcoxon—Wilcox检验的

SAS统计程序.

1统计方法

Wilcoxon—Wilcox检验用于各处理组与

对照组比较,其统计公式为:

q'=IRr一I/SR

SR=((n(na)(na+1)/6)

其中Rr为各处理组与对照组秩和

之差,S为差的标准误,n为每组样本含量,a

为组距.根据统计量q'值查表求P值圆.

2统计程序

%letg=4;,木实验资料有4个剂量组,

g<=10,

%letdn=lO;,木每组10个样本/

datatemp1;

inputdp@@录人数据,P为某实验的

尿蛋白结果(等级资料),d为剂量分组,0:对

照组,1,2,3:三个处理组$/

datalinesJ*数据格式:剂量分组,观测值

00010000

作者单位:310013,杭州,浙江省医学科学院卫生学研究所

12101l1l

22232222222222222322

32323232333332323434

;

procrankout=temp1;/编秩,变量

prank,

varp;ranksprank;

procsql;/计算各剂量组秩和trank/

createtabletemp2as

selectdistinctd,sum(prank)astrank

fromtempl

groupbyd:

quit;

procrankdata=temp2out=temp2;/秩

和排位,变量rk*/

vartrank;ranksrk;

datatemp2;

settemp2;

arra);a(&al-a&g;/组距/

array&rl-r&g;/秩和/

arrayq(&ql-q&g;/Wilcoxon—Wilcox

检验q'值/

arrayP(&Spl-p&gflP值/

arrayp05(9);/*P=0.05时q'临界值/

arraypOl(9);/*P=0.01时q'临界值/

retainrl—-r&gal-a&g;

r(_nj=trank;a(.-Jl-)=rk;

if—

n一

=

&gthendo如果数据步至文件

尾/

p05(1)=1.96;p05(2)=2.21;p05(3)=2.35;

浙江省医学科学院2007年3月(总第68期)

p05(4)=2.44;pO5(5)=2.51;

p05(6)=2.57;p05(7)=2.61;pO5(8)=2.65;

p05(9)=2.69;

pOl(1)=2.58;p01(2)=2.79;p01(3)=2.92;

pO1(4)=3.O0;p01(5)=3.06;

p01(6)=3.11;p01(7)=3.15;p01(8)=3.19;

p01(9)=3.22;

doi=2to&g;

a(i)=int(abs(a(i)-a(1)))+1;/计算组距,

ifa(i)<2thena(i)-2;

计算q'值/

q(i)=abs(r(i)一r(1))/sqrt(&dn(&dna(i))

(&dna(i)+1),6);

select;判断P值,

when(q(i)<p05(a(i)一1))p(i)=>O.05;

when(q(i)=p05(a(i)一1))p(i)==O.05;

when(q(i)>p05(a(i)一1)&q(i)<pO1(a(i)一1))P

(i)=<O.05;

when(q(i)=p01(a(i)一1))p(i)==O.O1;

when(q(i)>p01(a(i)-1))p(i)=<O.O1;

end;

end;

put@22resultofWilcoxon-Wilcox

test;输出结果,

put#3@12group@22Valueof

statistic@45ValueofP;

d0j=2to&g;

x=j-1;

put#(j+2)@11x@13and@170

43?

@25qO)@48p(j);

end;

end;

run;quit;

3结果输出

Wilcoxon—Wilcox输出结果:

resultofWilcoxon—.Wilcoxtest

groupValueofstatisticValueofP

1and01.3984685501>O.05

2and03.2893032893<O.O1

3and03.1273137776<O.O1

上述SAS统计程序适用完全随机设计

资料非参数检验的各剂量组与对照组比较的

统计检验,且要求各组样本量相同.符合上述

要求的资料,只需更改程序头的宏变量g(剂

量组数),dn(每组样本数)及datalines语句

后的实验数据,即可运行程序进行统计.如在

毒理学研究中,完全随机设计是应用最广的

实验设计方法,且通常设计为各组实验动物

数相同,由此获得的实验资料如果不适用于

参数检验,则可采用上述的SAS程序,如适

用于参数检验,亦可采用上述的SAS程序,

但检验效能有所下降[31.

参考文献

【1】薛富波,张文彤,田晓燕.SAS8.2统计应用教程【M】.北

京:兵器工业出版社,2004,162—173.

【2】郭祖超.医用数理统计方法【M】.北京:人民卫生出版社,

1988,634-642.

【3】徐天和.中国医学统计百科全书?非参数统计分册【M】.北

京:人民卫生出版社.2O04.1-4.

2024年1月24日发(作者:道司晨)

应用SAS软件实现非参数资料Wilcoxon—Wilcox检验

42?浙江省医学科学院2007年3月(总第68期)

应用SAS软件实现非参数资料Wilcoxon—Wilcox检验

顾刘金

研究工作中许多资料的统计不适宜采

用参数检验,如等级资料,非正态分布或虽

呈正态分布但方差不齐,对这些资料的推断

性统计,除了部分资料进行数据转换后可进

行参数检验外,很大一部分资料需进行非参

数检验.许多统计软件都提供了非参数检验

的程序,如SAS统计软件的NPAR1WAY过

程【",但如需进一步作多样本资料的两两比

较或各处理组与对照组比较,则没有直接的

程序,需进行复杂的编程才能完成.本文介

绍非参数检验的Wilcoxon—Wilcox检验的

SAS统计程序.

1统计方法

Wilcoxon—Wilcox检验用于各处理组与

对照组比较,其统计公式为:

q'=IRr一I/SR

SR=((n(na)(na+1)/6)

其中Rr为各处理组与对照组秩和

之差,S为差的标准误,n为每组样本含量,a

为组距.根据统计量q'值查表求P值圆.

2统计程序

%letg=4;,木实验资料有4个剂量组,

g<=10,

%letdn=lO;,木每组10个样本/

datatemp1;

inputdp@@录人数据,P为某实验的

尿蛋白结果(等级资料),d为剂量分组,0:对

照组,1,2,3:三个处理组$/

datalinesJ*数据格式:剂量分组,观测值

00010000

作者单位:310013,杭州,浙江省医学科学院卫生学研究所

12101l1l

22232222222222222322

32323232333332323434

;

procrankout=temp1;/编秩,变量

prank,

varp;ranksprank;

procsql;/计算各剂量组秩和trank/

createtabletemp2as

selectdistinctd,sum(prank)astrank

fromtempl

groupbyd:

quit;

procrankdata=temp2out=temp2;/秩

和排位,变量rk*/

vartrank;ranksrk;

datatemp2;

settemp2;

arra);a(&al-a&g;/组距/

array&rl-r&g;/秩和/

arrayq(&ql-q&g;/Wilcoxon—Wilcox

检验q'值/

arrayP(&Spl-p&gflP值/

arrayp05(9);/*P=0.05时q'临界值/

arraypOl(9);/*P=0.01时q'临界值/

retainrl—-r&gal-a&g;

r(_nj=trank;a(.-Jl-)=rk;

if—

n一

=

&gthendo如果数据步至文件

尾/

p05(1)=1.96;p05(2)=2.21;p05(3)=2.35;

浙江省医学科学院2007年3月(总第68期)

p05(4)=2.44;pO5(5)=2.51;

p05(6)=2.57;p05(7)=2.61;pO5(8)=2.65;

p05(9)=2.69;

pOl(1)=2.58;p01(2)=2.79;p01(3)=2.92;

pO1(4)=3.O0;p01(5)=3.06;

p01(6)=3.11;p01(7)=3.15;p01(8)=3.19;

p01(9)=3.22;

doi=2to&g;

a(i)=int(abs(a(i)-a(1)))+1;/计算组距,

ifa(i)<2thena(i)-2;

计算q'值/

q(i)=abs(r(i)一r(1))/sqrt(&dn(&dna(i))

(&dna(i)+1),6);

select;判断P值,

when(q(i)<p05(a(i)一1))p(i)=>O.05;

when(q(i)=p05(a(i)一1))p(i)==O.05;

when(q(i)>p05(a(i)一1)&q(i)<pO1(a(i)一1))P

(i)=<O.05;

when(q(i)=p01(a(i)一1))p(i)==O.O1;

when(q(i)>p01(a(i)-1))p(i)=<O.O1;

end;

end;

put@22resultofWilcoxon-Wilcox

test;输出结果,

put#3@12group@22Valueof

statistic@45ValueofP;

d0j=2to&g;

x=j-1;

put#(j+2)@11x@13and@170

43?

@25qO)@48p(j);

end;

end;

run;quit;

3结果输出

Wilcoxon—Wilcox输出结果:

resultofWilcoxon—.Wilcoxtest

groupValueofstatisticValueofP

1and01.3984685501>O.05

2and03.2893032893<O.O1

3and03.1273137776<O.O1

上述SAS统计程序适用完全随机设计

资料非参数检验的各剂量组与对照组比较的

统计检验,且要求各组样本量相同.符合上述

要求的资料,只需更改程序头的宏变量g(剂

量组数),dn(每组样本数)及datalines语句

后的实验数据,即可运行程序进行统计.如在

毒理学研究中,完全随机设计是应用最广的

实验设计方法,且通常设计为各组实验动物

数相同,由此获得的实验资料如果不适用于

参数检验,则可采用上述的SAS程序,如适

用于参数检验,亦可采用上述的SAS程序,

但检验效能有所下降[31.

参考文献

【1】薛富波,张文彤,田晓燕.SAS8.2统计应用教程【M】.北

京:兵器工业出版社,2004,162—173.

【2】郭祖超.医用数理统计方法【M】.北京:人民卫生出版社,

1988,634-642.

【3】徐天和.中国医学统计百科全书?非参数统计分册【M】.北

京:人民卫生出版社.2O04.1-4.

发布评论

评论列表 (0)

  1. 暂无评论