资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
采用均数和标准差进行方差分析的方法及 SAS 实现广东省深圳市中医院 郭志武【摘要】目的 探讨采用均数和标准差进行方差分析的方法及 SAS 程序。方法 通过推导,得到基于均数和标准差的方差分析计算公式,并用简洁的 SAS 程序实现。结果 实现了有关算法及 SAS 程序。结论 采用均数和标准差进行方差分析是完全可行的,编制 SAS程序可以有效实现相关的计算,得到可靠的结果。【关键词】均数 标准差 方差分析 SAS在实际工作中,通常会遇到一些研究资料只有均数和标准差而缺失原始数据的情况,比如年代久远的研究资料、期刊文献的资料等等。对于这些资料,若需进行 t 检验是很容易的,有现成的公式可用;但若需对多个样本资料做方差分析就不易了,现有的计算公式以及统计软件的算法都是基于原始数据的,因此有必要探讨基于均数和标准差的方差分析算法,以满足实际工作的需要。1.算法的推导对于单因素方差分析,传统的算法是先计算总变异,然后分别算出组间变异和组内变异,最后求出 F 值和对应的 P 值。这都是基于原始数据来计算的。若只有均数和标准差,则需要通过推导得出计算组内变异和组间变异的公式。组间变异 的理论公式为:组 间S(1)kiiXnS12)(组 间而 ,因此:kikinX11/)((2) kikiikiiki kiki nXnS 121121 211 /)()/)(组 间组内变异 的理论公式为:组 内(3)kiniijiXS1j2)(组 内由于组内标准差 ,因此 ,从而:)/()(12injiijii )1()(2iiij nS(4)kiinS12)(组 内这样,通过(2)式和(4)式,可以很方便地计算出 和 ,从而进一步计组 间S组 内算出 F 值。至于双因素方差分析和多因素方差分析,可作类似推导,这里不再赘述。多个样本的两两比较可以遵照现有公式完成。2.SAS 程序的实现下面以卫生统计学第四版(倪宗瓒主编)第 51 页的样例数据为例,介绍采用均数和标准差进行方差分析的 SAS 程序的实现。/*建立数据集,输入各组组号、样本例数、均数、标准差,组号需按 ABCD.顺序输入*/data a;input gp$ n X S; cards;A 11 105.45 10.87 B 9 102.39 14.55C 10 122.80 17.07;/*采用 sql 过程进行方差分析计算*/proc sql;create table b asselect sum(n) as N, /*计算总例数 N*/count(n) as k, /*计算组数 k*/sum(n*X*2)-sum(n*X)*2/sum(n) as SSZJ, /*计算组间变异*/sum(S*2*(n-1) as SSZN /*计算组内变异*/from a;quit;data c;set b;MSZJ=SSZJ/(k-1); /*计算组间均方*/MSZN=SSZN/(N-k); /*计算组内均方*/F=MSZJ/MSZN; /*计算 F 值*/P=1-probf(F,k-1,N-k); /*计算 P 值*/proc print data=c; var F P; /*显示 F 值,P 值*/run;/*以下进行两两比较计算,采用 LSD-t 检验*/data d;set c;keep N k MSZN;proc sql;create table e asselect a1.gp as gp1,a2.gp as gp2, /* 交叉匹配生成两两比较数据集 */a1.n as n1,a2.n AS n2,a1.X AS X1,a2.X as X2from a as a1, a as a2 where a1.gpa2.gp;create table f asselect e.*,d.* from e ,d; /*生成两两比较计算表 */quit;data g;set f;dmean=x1-x2;sd=sqrt(MSZN*(1/n1+1/n2);t=dmean/sd;p=(1-probt(abs(t),n-k)*2;proc print data=g;var gp1 gp2 n1 n2 x1 x2 dmean t p; /*显示两两比较结果*/run;3.讨论参考文献倪宗瓒 主编.卫生统计学M.第四版.北京:人民卫生出版社, 2001.
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号