数据统计分析一般可遵循以下思路:(1)先确定研究目的,根据研究目的选择方法。
不同研究目的采用的统计方法不同,常见的研究目的主要有三类:①差异性研究,即比较组间均数、率等的差异,可用的方法有t检验、方差分析、χ2检验、非参数检验等。
②相关性分析,即分析两个或多个变量之间的关系,可用的方法有相关分析。
③影响性分析,即分析某一结局发生的影响因素,可用的方法有线性回归、logistic回归、Cox 回归等。
(2)明确数据类型,根据数据类型进一步确定方法:①定量资料可用的方法有t检验、方差分析、非参数检验、线性相关、线性回归等。
②分类资料可用的方法有χ2检验、对数线性模型、logistic回归等。
下图简要列出了不同研究目的、不同数据类型常用的统计分析方法。
(3)选定统计方法后,需要利用统计软件具体实现统计分析过程。
SAS中,不同的统计方法对应不同的命令,只要方法选定,便可通过对应的命令辅之以相应的选项实现统计结果的输出。
(4)统计结果的输出并非数据分析的完成。
一般统计软件都会输出很多结果,需要从中选择自己需要的部分,并做出统计学结论。
但统计学结论不同于专业结论,最终还需要结合实际做出合理的专业结论。
第一部分:统计描述1.定量资料的统计描述指标及SAS实现;(1)数据分布检验:PROC UNIVARIATE①基本格式:②语句格式示例:1.PROC UNIVARIATE normal;/*normal选项表示进行正态性检验*/2.CLASS group;/*指定group为分组变量*/3.VAR weight;/*指定分析变量为weight*/4.RUN;③结果:正态性检验(tests for normality)结果,常用的是Shapiro-Wilk 检验和Kolmogorov-Smirnov检验。
当例数小于2000时,采用Shapiro-Wilk检验W值为标准;当例数大于2000时,SAS中不显示Shapiro-Wilk检验结果,采用Kolmogorov-Smirnov检验D值为判断标准。
正态性检验的P≤0.05提示不服从正态分布,P>0.05提示服从正态分布。
注:若服从正态分布,进行PROC MEANS过程步;若不服从则计算百分位数,转(3)(2)数据描述(符合正态分布的数据):PROC MEANS①基本格式:关键字(可以无视):不写任何关键字时默认输出n,mean,std,max,min;n:有效数据记录数(有效样本量) median:中位数mean:均数 qrange:四分位数间距std:标准差 var:方差clm:95%可信区间 max、min:最大、最小值②语句格式示例:1.PROC MEANS n mean std median qrange clm;/*关调用proc means过程,要求输出的指标有例数、均值、标准差、中位数、四分位数间距、95%可信区间*/2.CLASS group;/*指定group为分组变量*/3.VAR weight;/*指定分析变量为weight*/4.Run;③结果以“均数±标准差”表示(3)偏正态分布的统计描述:①基本思想:计算中位数和百分位数,并且用“中位数(Q1~Q3)”表示②语句格式示例:1.proc univariate data=aa;2.var x;3.output out=c pctlpre=P pctlpts=0 to 100 by 2.5;/*计算0到100百分位数,间隔2.5个百分位数,并将结果输出在数据集“aa”中*/4.run;5.proc transpose data=c out=d;6.proc print data=d;7.run;/*以上是求解百分位数语句*/1.proc univariate data=aa2.CIPCTLDF(alpha=0.05);/* 求百分位数的95%可信区间,(alpha=0.05)此处可缺省;若需求可信区间,只需指定相应的alpha水平*/3.var x;4.run;③结果:a.偏态分布的统计描述以“中位数(Q1~Q3)”表示b.总体参数的95%可信区间2.分类(定性)资料的统计描述指标及SAS实现(1)输出频数表:PROC FREQ①基本格式:②语句格式示例:1.PROC FREQ;2.TABLE group * weight;/*table后有group和grade两个变量,交叉形成一个行X列的表格,若group为2类,grade为3类,因此形成2X3=6个格子,每一格子中给出例数和相应比例*/3.RUN;(2)直方图的绘制①基本语句:histogram 变量x②语句格式示例:1.proc univariate;2.var x;3.histogram x/midpoints=163 to 183 by 2; /*要求Univariate过程绘制的直方图中各直条的组中值为163、165、……183(自行改动)*/4.run;(3)计算基本统计量和95%可信区间:PROC UNIVARIATE①基本要求:计算定性资料的95%可信区间②语句格式示例:1.proc univariate cibasic; /*基本统计量及其可信区间,对应于CIBASIC选项*/2.var x;3.run;③结果:此步骤结果只需观察SAS结果中的“基本置信限正态假设”一栏,其他可无视。
第二部分:定量资料的统计分析1.单一样本均数的检验(1)直接公式编辑①适用条件:没有原始数据,而只知道样本均数及已知总体的总体均数时②方法示例:某医生测量了36名从事某作业的男性工人的血红蛋白含量,其均值为130.83g/L,标准差为25.74g/L。
问从事该作业男性工人的血红蛋白含量是否不同于正常成年男性的均值140g/L③SAS过程步:1.data aa;2.n=36;3.sm=130.83;/*样本均数*/4.std=25.74; /*样本标准差*/5.pm=140; /*总体均数*/6.df=n-1; /*自由度*/7.t=(sm-pm)/(std/sqrt(n)); /*单样本t 检验的计算公式*/8.p=(1-probt(abs(t),df))*2;/* ①abs(x)函数:返回x的绝对值。
②probt(x,df)函数:是student t分布的概率分布函数,用于计算自由度为df的t分布在t取x值时的概率。
因为是做双侧检验,所以求得一侧的概率值后再乘以2*/9.proc print;10.var t p;11.run;③结果使用t和p值(2)利用MEANS或UNIVARIATE过程计算①已知样本资料的原始数据,单样本t 检验可以利用MEANS过程和UNIVARIATE过程实现②语句格式示例:1.proc means mean std t ptr;2.var y;/*y值为每一个观测值与已知总体均数的差值*/3.run;或者1.proc univariate;2.var y;/*y值为每一个观测值与已知总体均数的差值*/3.run;③方法类似于统计描述,结果指标为t和p值2.完全随机两组正态分布资料的比较①分析思路:两组比较属于差异性研究,再看是否正太,可考虑方法有独立样本的t检验或Wilcoxon秩和检验,具体还应进一步看资料的分布情况。
②正态性检验:1.proc univariate normal;2.class group; var x;3.run;若为正态性则可使用t检验,否则使用Wilcoxon秩和检验(见后文)③t检验语句:1.proc ttest2.class group;3.var x;4.run;④结果:观察t值和p值,给出结论3.完全随机两组非正态分布资料的比较①思路同上2,首先进行正态性检验;语句略②非正态分布时两组之间的秩和检验语句:1.proc npar1way Wilcoxon;/*wilcoxon选项给出wilcoxon和Kruskal-Wallis检验值*/2.class group;3.var x;4.run;③秩和检验观察Z值和P值,得出结论4.完全随机多组正态分布资料的比较①前提是研究为完全随机设计,需要分析两组数据的变化值,因此可以考虑方差分析或Kruskal-Wallis秩和检验,具体还应进一步看资料是否符合正态分布;②正态性检验确定具体分析方法,若为正态,使用方差分析,否则为Kruskal-Wallis秩和检验(非参数检验,见后文):正态性检验过程步略···③方差分析:只有glm过程,anova过程请参考课件1.proc glm;2.class group;3.model x=group;4.means group/hovtest lsd;/*使用lsd法进行两两比较并给出p值*/5.run;④根据两组之间p值是否有意义给出结论5.完全随机多组非正态分布资料的比较①同上思路,首先正态检验,不符合时候,使用多组之间的Kruskal-Wallis 秩和检验;首先进行秩和检验:1.proc npar1way Wilcoxon;/*wilcoxon选项给出wilcoxon和Kruskal-Wallis检验值*/2.class group;3.var x;4.run;②多组非正态分布资料两两之间的比较的过程步:(原理:对研究变量的秩进行排序,用方差分析对秩次进行两两比较);1.proc rank data=ex12_5 out=rank5;2.var x;3.run;4.proc print data=ranks;5.run;6.proc glm data=ranks;7.class group;8.model x=group;9.means group/lsd;10.run;完全copyPPT···③结果观察:先看χ2和p值(总体指标)有无统计学意义,若无意义,无需进行两两比较,只有总体指标χ2和p值有意义才需进行两两检验。
6.析因设计方差分析①析因设计有一点重要的是:A和B两个指标之间可能会有交互作用,需考虑二者之间的交互作用a*b②首先仍然是正态性检验,若符合可直接用析因设计的方差分析,否则可用Kruskal-Wallis秩和检验(类似于完全随机设计);③析因设计的过程步(符合正态分布):1.proc glm data=aa;2.class a b;3.model x=a b a*b;/*计算a,b以及a*b,之间的相互作用*/4.output out=glmout P=pred R=resi; /*将三者之间的P值和R值输出到新的数据集glmout中,并对二者进行赋值*/5.run;1.proc gplot data=glmout ;2.plot pred*a=b/HAIXS=0.5 1 2 2.5 VAIXS=0.1 to 0.2 by 0.02; /*2*2析因设计交互效应作图*/3.symbol I=join;4.run;③结果参考:同样先看总体之间差异有无统计学意义:若有意义,继续观察两两之间的p值;若无意义,可无视。