SAS 生物统计学教学实习指导书.docx
《SAS 生物统计学教学实习指导书.docx》由会员分享,可在线阅读,更多相关《SAS 生物统计学教学实习指导书.docx(41页珍藏版)》请在冰豆网上搜索。
SAS生物统计学教学实习指导书
生物统计学教学实习指导书
----- SAS软件实习材料
目录
一、SAS概述2
二、描述性统计7
三、统计推断Ⅰ(单个或两个平均数的比较)10
四、统计推断Ⅱ(方差分析——多个平均数的比较)
(1)12
五、统计推断Ⅱ(方差分析——多个平均数的比较)
(2)15
六、统计推断Ⅱ(方差分析——多个平均数的比较)(3)18
七、统计推断Ⅱ(方差分析——多个平均数的比较)(4)22
八、统计推断Ⅲ(相关和回归分析)28
一、SAS概述
发布:
admin时间:
2006-8-26
一、SAS概述
SAS是“StatisticalAnalysisSystem”的缩写,意为统计分析系统。
SAS自1976年问世以来,已由最初的统计分析系统演变成为大型集成应用软件系统,具备完备的数据访问、管理、分析和呈现功能。
在数据处理与统计分析领域,SAS系统被誉为国际上的标准软件。
目前SAS系统已被广泛作为决策支持、行政信息、报告生成、财务分析、市场调查和销售管理、计算机运行评价、数据分析及产品制造与质量管理的工具,广泛用于科研、生产、政府、金融等不同领域。
我们主要学习SAS统计分析功能的相关内容。
SAS可在大、中、小与微型计算机和多种操作系统(如Windows,Dos,Unix等)上运行。
使用者通过简单的过程调用就能完成各种复杂、庞大的统计分析,当然也可以使用SAS语句编制程序完成特定的计算。
1.SAS的启动、程序运行和退出
(1)SAS的启动
运行可执行命令(程序)SAS.EXE即可启动SAS系统(注意SAS公司为保护自身版权在程序中设置了日期防护,当程序不能执行并提示日期过期,虽然可通过修改计算机日期解决,但这是一种违法行为,您应该与SAS程序供应商联系以取得钥子软盘)。
SAS启动后可见如下图的界面(这里是SASforDOS的情形,不过在其它操作系统下与此类似)。
OUTPUT
Command ===>
LOG
Command ===>
Licensedto ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Site?
?
?
?
?
?
?
?
.
NOTE:
AUTOEXECprocessingcompleted.
PROGRAMEDITOR
Command ===>
00001
00002
00003
该屏幕分为3个窗口,结果输出窗(OUTPUT)、运行记载窗(LOG)和程序编辑窗(PROGRAMEDITOR)。
各个窗口中均有命令行(Command行)。
开始时,光标停留在程序编辑窗的命令行内。
在能保证已有SAS程序是正确时,也可不进入SAS窗口,方法是在SAS工作目录下(如有path说明则可在任一目录下)输入命令:
SAStest.sas ↲(test.sas为已存在的SAS程序名)。
这样不进入SAS窗口,直接运行test.sas这一程序,运行记载保存在test.log文件中,运行结果则保存在test.lst文件中,且这两个文件均在 \SAS目录下。
(2)SAS程序的运行
①程序尚未建立
在程序编辑窗内的行号的后面空一格开始输入程序。
输入完成后,在该窗中命令行输入SUBMIT命令或直接按功能键F10即可运行程序。
运行过程显示在LOG窗口内,运行结果显示在OUTPUT窗中内。
在OUTPUT或LOG或PROGRAMEDITOR窗口命令行执行命令FILE”文件名(或包括路径)”则可将相应窗口中的内容(统计分析结果或程序运行说明或程序)以指定路径下的指定文件名保存。
②程序已经建立
SAS程序可用任何文本编辑器编辑,并按DOS命名规则给定文件名。
注意SAS程序必须以纯文本的格式(ASCⅡ码)保存。
在SAS程序编辑窗的命令行执行:
INC“[路径]文件名” ↲,即可将已经建立的文件调入,再按F10或执行SUBMIT就可执行程序。
(3)SAS的退出
在任一窗口的命令行Command===>后空一格输入BYE或ENDSAS命令即可退出SAS。
若要临时执行一个DOS命令(不将SAS系统从内存御载),可输入X”DOS命令名”,其中引号可为双引号或单引号,并且后面的引号可以省略。
例如:
X ’ dir*.sas ↲ ,将显示当前目录下的所有扩展名为sas的文件。
显示结束后,按任意键可返回SAS。
*注:
所有SAS命令或程序中的语句字符大写、小写均可用,SAS对此不加区分(除字符型数据),且两者可以混用。
2.SAS的程序结构
下面是一个完整的SAS程序。
00001 DATA sm;
00002 INPUT y@@;
00003 CARDS;
00004 20.0 19.0 21.0 17.5 18.5
00005 ;
00006 PROC MEANS;
00007 RUN;
这一程序包括两个部分,第一部分为00001~00005,称为数据步(datastep),它用于建立数据集,为下面的过程步准备数据;第二部分为00006~00007,称为过程步(procedurestep),它对数据进行适当的统计分析。
典型的SAS程序都包括这两个部分。
一般至少包括一个数据步和一个过程步。
无论是数据步还是过程步,均由SAS语句构成,每条SAS语句的第一个词通常是SAS的关键词,它指定执行何种操作,每条语句均以“ ; ”结束。
SAS程序的输入格式相当自由,语句可以从一行的任一列开始输入,一行中可以输入任意多条语句,而一条语句也可以占用多行。
语句中间允许空行。
SAS语句对字母大小写不加区分,大小写可以混用,语句中的各词应用空格分开。
3.SAS的数据步
数据集的建立依数据来源或读入方式一般有以下几种。
(1)直接输入法:
如:
DATA ex;
INPUT name$ age sex$;
CARDS;
Zhang3 18 M
Li4 65 F
Wang5 36 M
;
这一程序中DATA语句指明建立一个名为ex(单名)的临时数据集,SAS运行时将生成临时文件ex.ssd,其位置在\SAS\SASWORK目录下,当退出SAS系统时,该临时文件将自动被删除。
DATA后的数据集名也可省略,此时系统将自动依次赋名DATA1,DATA2,。
INPUT语句描述SAS数据集中每条记录,这里一条记录由3个变量组成,即name、age和sex,其中name和sex为字符型变量(变量后加“$”)。
变量名的命名规则(包括SAS数据集名称)是以字母或下划线开头,后面可带数字或字母,长度不超过8个字符,不能包括一些特殊字符(如空格、“,”、“.”、“+”、“-”等),这实际上与DOS文件的主名命名规则一样。
CARDS词句表明数据的开始,其后紧随数据行。
数据行数据顺序与INPUT语句描述的变量相对应。
数据缺损时用“.”表示。
最后“;”单独形成一行,称空语句,它表示数据行的结束。
这种方法主要用于数据量不大的情况,如数据量大,则一般采用下面的外部数据文件法。
(2)读取外部数据文件法
例如,我们已建立了内容为:
22.0 5.5
17.4 4.5
23.0 5.6
20.0 5.2
28.5 4.0
的数据文件abc.txt,则可通过以下方法建立数据集:
DATA ex;
INFILE “abc.txt”;
INPUT x y;
RUN;
如果要在磁盘上建立永久数据集则可:
LIBNAME dic “C:
\HE”;
DATA dic.datakeep;
INFILE “abc.txt”;
INPUT x y;
RUN;
该程序运行后就可在目录C:
\HE下建立datakeep.ssd(双名)这一永久数据集,永久数据集是以SAS特有的方法对数据进行存储的,数据集内包括变量名称、类型、长度等属性和各变量的具体数据。
该永久数据集可用下面的方法调用。
(3)利用永久数据集
如上已建立了C:
\HE\datakeep.ssd这一永久数据集,则可用
LIBNAME dic “C:
HE”;
DATA ex;
SET dic.datakeep;
RUN;
如果对上述永久数据集不进行变量或观察值的选择,还可省去建立临时数据集的过程,直接对永久数据集分析,如:
LIBNAME dic “C:
\HE”;
PROC REG DATA=dic.datakeep;
RUN;
4.SAS的过程步
SAS过程步通常包括PROC语句,指明调用的过程名,即指明对数据用何种方法进行分析。
后面我们将按统计方法对主要的过程结合教材的例子进行说明。
SAS数据步与过程步的组合可以是任意的。
在比较简单的情况下,一个SAS程序是DATA步后跟一个PROC步(简记D+P)。
其它还可D+P+P或D+P+D+P。
通常一个过程步就是一个子程序(*.exe)。
5.SAS常用命令
(1)FILE
用于保存文件。
在相应窗口的命令行执行FILE ”文件名”,可将相应窗口中的内容保存为指定文件名的磁盘文件。
例如,一个SAS程序运行通过后,我们在OUTPUT窗口命令行中执行FILE ”test.out”,则运行结果就保存到当前目录下的test.out中。
FILE所保存的文件格式均为ASCⅡ形式(纯文件),可以在任何字处理软件(如DOS-EDIT,WORD,WORDPAD,WRITE,WPS等)中进行编辑,修饰和打印。
(2)CLEAR
用于消除相应窗口中的内容。
SAS的OUTPUT、LOG窗口中的内容一般不自动清除(即在执行一个SAS程序时,在它之前执行的SAS程序所生成的结果及程序运行记载仍在相应窗口中,后面程序运行所产生的相应内容将添加到前面程序所产生的内容之后)。
清除命令也可在相应窗口按热键ALT+E进行。
SAS命令行命令在不产生歧义时,可用前面连续的若干个字母代替。
如调入程序命令INCLUDE,可用INCLUDE、INCLU、INCL或INC代替。
但不能简化为IN,因为这将与INDENT命令相混。
6.SAS的窗口操作
(1)窗口间的切换
①通过光标,PgDn,PgUp键进行;
②在任一窗口命令行输入OUTPUT或LOG或PGM命令进入相应窗口;
③按Home键可快速回到当前窗口的命令行中。
(2)SAS的功能键
SAS常用功能键定义如下:
功能键 命令 命令解释
F1 HELP SAS联机帮助信息
F2 reshow 功能键的定义窗
F3 end;
F4 recall 调回已运行的程序,供修改、存储等
F5 pgm 快速进入PGM窗
F6 log 快速进入LOG窗口
F7 output 快速进入OUTPUT窗口窗口
F8 submit;zoomoff 运行SAS程序;关闭
F9 keys 查看快捷键
发布时间:
2006-8-26点击次数:
1 【 打印 】【 关闭 】
二、描述性统计
发布:
admin时间:
2006-8-26
二、描述性统计
描述性统计的主要过程有MEANS、SUMMARY、UNIVARIATE和CORR等。
1.MEANS过程
[例1] 以教材P38,表3.4数据为例。
[OPTION NODATE PS=60;]
DATA [tb34];
INPUT y@@;
CARDS;
177 215 197 97 123 159 194 227 141 169 124 159
;
PROC MEANS [DATA=tb34][N][MIN][MAX][STD][RANGE][MEAN]
[CV][SUM][VAR][STDERR][NMISS][MAXDEC=n]
[VARDEF=DF|WEIGHT|WGT|WGF|N][NOPRINT];
RUN;
以上[]表示该项是可选项。
OPTION一句设置结果输出选项,这里设为结果不显示日期(NODATE),每页输出60行(PS=60);INPUT语句后面的@@表示读入一条观察值后不换行,连续读入数据,这样在一个物理行中可以输入多条记录,以减少数据占用行数;PROCMEANS语句指定计算基本统计数,包括样本容量、最小值、最大值、标准差、极差、平均数、变异系数、总和数、方差、标准误、缺值数,这些选项如全都不指定(即PROCMEANS;)则输出N、MIN、MAX、MEAN和STD这5项;一旦指定了选项,则只输出所指定项。
DATA=tb34,指定对tb34这一数据集进行分析,当有多个数据步时,一般应该指定,否则以最近建立的数据集进行分析。
MAXDEC=n,用来设置输出时的小数位数,缺省值为2。
VARDEF用来选择计算标准差(方差)时使用样本容量(N或WGT)还是自由度(DF或WGF)。
[例2] 以教材P39,表3.6为例。
DATA tb36;
INPUT y f @@;
CARDS;
75
2
90
7
105
7
120
13
135
17
150
20
165
25
180
21
195
13
210
9
225
3
240
2
255
1
;
PROC MEANS N MEAN VAR STD CV;
VAR y;
WEIGHT f;
RUN;
这里采用加权法计算MEAN、VAR、STD。
其中y为变量,用VAR语句指明。
f为权重,用WEIGHT语句指明。
2.SUMMARY过程
SUMMARY功能与MEANS很类似,只是若不加PRINT选项则不输出计算结果。
[例3]
DATA tb34;
INPUT y@@;
CARDS;
177 215 197 97 123 159 194 227 141 169 124 159
;
PROC SUMMARYPRINT;
VAR y;
RUN;
其中PRINT选项指定输出计算结果,而“VARy;”这一选用语句也需列出。
如果不用PRINT选项,也可按下面的办法进行。
PROC SUMMARY;
VAR y;
OUTPUT OUT=stat MEAN=ymean STD=ystd CV=ycv;
PROC PRINT DATA=stat;
RUN;
这采用OUTPUT语句将计算结果存到stat数据集中,然后用PRINT过程将stat数据集中的内容打印出来(输出到结果窗口)。
3.UNIVARIATE过程
UNIVARIATE过程除了可以提供MEANS和SUMMARY所提供了基本统计数外,还提供位置特征数(如Med中位数,Mode众数)和偏度系数(Skewness)、峰度系数(Kurtosis)这些变异数。
此外它还可通过FREQ选项统计变量次数及频率,通过PLOT选项给出茎叶图(StemLeaf)和正态概率密度图(NormalProbabilityPlot),通过NORMAL选项进行变数正态性检验(给出W:
Normal值)。
[例4] 以P37表3.1数据为例。
DATA tb31;
INPUT y @@;
CARDS;
18 15 17 19 16 18 17 17 16 19 17
;
PROC UNIVARIATE [FREQ][PLOT][NORMAL];
RUN;
注意:
UNIVARIATE过程中不能指定基本统计数(如N,MEAN,MODE,SKEWNESS,MEDIUM等),如果指定则程序将出错,这一点与MEANS和SUMMARY过程不同。
4.CORR过程
CORR过程是用于进行相关分析的,它用于给出简单相关系数,我们将它放到相关、回归分析中说明。
发布时间:
2006-8-26点击次数:
0 【 打印 】【 关闭 】
三、统计推断Ⅰ(单个或两个平均数的比较)
发布:
admin时间:
2006-8-26
三、统计推断Ⅰ(单个或两个平均数的比较)
用于这一目的SAS过程,主要有MEANS、TTEST,此外ANOVA、GLM等过程也可用于测验两个平均数的差异显著性,但一般不用。
1.MEANS过程
MEANS过程用于测验某个平均数与0之间的差异显著性。
可以用来对H0:
()或H0:
进行测验。
[例5] 以教材P82例5.1为例。
DATA ex51;
INPUT y@@;
y=y-34.0;
CARDS;
35.6 37.6 33.4 35.1 32.7 36.8 35.9 34.6
;
PROC MEANS N MEAN STDERR T PRT;
RUN;
其中STDERR为平均数的标准误( )选项;T选项表示列出ti值;PRT选项表示列出P(| t |>ti)的概率,即实际结果是由误差造成的概率。
[例6] 以教材P87例5.6为例。
DATA ex56;
INPUT y1 y2 @@;
y=y1-y2;
CARDS;
10 25 13 12 8 14 3 15 5 12 20 27 6 18
;
PROC MEANS N MEAN STDERR T PRT;
VAR y;
RUN;
以上“VAR y;”一句用于指定对变数y进行分析,若缺省则对y1、y2和y三个变数分析。
不过如果在“CARDS;”语句前加上“DROP y1 y2;”一句,建立数据集时将去除变数y1和y2,这样生成的数据集中只有变量y,此时VAR语句可省去。
2.TTEST过程
一般用于成组数据资料的测验[即测验H0:
( )],结果输出包括两样本的基本统计数,总体方差相等和不相等的t值、概率值(实得差异由误差造成的概率),以及对两个总体的方差测验结果(F测验)。
当F测验不显著时,应选择Equal( )下的结果,否则取Unequal( )下的结果。
[例7] 以P84例5.3为例。
DATA ex5;
DO trt=1 TO 2;
DO r=1 TO 5;
INPUT y@@;
OUTPUT;
END;
END;
CARDS;
400 420 435 460 425
450 440 445 445 420
;
PROC TTEST;
CLASS trt;
VAR y;
RUN;
其中CLASS语句指明分组变量,这里是trt,注意在TTEST过程中,它只允许有两个水平。
[例8] 以P84例5.4为例。
DATA ex54;
INPUT trt y@@;
CARDS;
1 160 2 170 1 160 2 270 1 200 2 180
1 160 2 250 1 200 2 270 1 170 2 290
1 150 2 270 1 210 2 230 2 170
;
PROC TTEST;
CLASS trt;
VAR y;
RUN;
从例7和例8可见,当n1=n2=n时可以用例7的方式简化数据输入;而n1≠n2时则可用例8的方式进行数据输入。
发布时间:
2006-8-26点击次数:
0 【 打印 】【 关闭 】
四、统计推断Ⅱ(方差分析——多个平均数的比较)
(1)
发布:
admin时间:
2006-8-26
四、统计推断Ⅱ(方差分析——多个平均数的比较)
(1)
方差分析是关于多个平均数的假设测验,其主要做法是将总变异的自由度和平方和剖分为不同来源的自由度和平方和,接着根据各变异来源方差的组成(期望均方)进行F测验,若F测验达显著,当处理效应为固定模型时,可对其处理平均数进行多重比较,当处理效应为随机模型时,可进一步进行方差分量的估计。
方差分析在生物科学领域中应用十分广泛。
用于方差分析的SAS过程主要有方差分析(ANOVA,analysisofvariance)、广义线性模型(GLM,generallinearmodels)。
此外还有方差分量估计(VARCOMP,variancecomponentsestimation)等。
其中ANOVA一般用于平衡资料(资料中各因素均衡搭配且没有发生数据缺失),非平衡资料的分析一般用GLM过程。
不同的试验设计有其相应的线性数学模型,而方差分析正是根据这一线性数学模型进行的,因此所获数据的试验设计决定了其分析方法(即自由度和平方和的分解以及度量各效应是否显著的尺度)。
正是如此,方差分析的SAS程序中模型的确定是关键。
以下结合教材内容顺序说明各种情况下的SAS程序编写方法。
(一) 单向分组资料(单因素完全随机试验)
1.组内观察值数目相等的资料
[例9] 以教材P111例6.10为例。
DATA tb611;
DO trt=1 TO 5; (或DO trt=”A”,”B”,”C”,”D”,”E”;)
DO r=1 To 4;
INPUT y@@;
OUTPUT;
END;
END;
CARDS;
24 30 28 26
27 24 21 26
31 28 25 30
32 33 33 28
21 22 16 21
;
PROC ANOVA;
CLASS trt;
MODEL y=trt;
MEANS trt/DUNCAN;
RUN;
这里PROC前是数据步,使用两套循环(DO…; END;)进行简化数据输入,这是在数据经过整理加工后的方法,当然也可直接按田间(或试验记录)顺序输入,这在后面会看到。
OUTPUT语句用于输出一组观察值,它表明一条记录的结束。
本题利用ANOVA过程。
在PROC ANOVA后可加上选项,包括DATA=输入数据集名和OUTSTAT=输出数据集名(用于存储方差分析结果)。
CLASS一句用于指明分类变量,此语句一定要设定,并且应出现在MODEL语句之前。
MODEL语句用于定义分析所用的线性数学模型,通常试验误差项(Error)一项不列。
MEANS语句用于计算效应平均数,并在“/”号后设定多重比较方法、显著水平 以及使用的误差均方。
常用多重比较方法有T或LSD(最小显著差数法或F测验保护下的最小显著差数法)、SNK(q法或NK法)、DUNCAN(Duncan新复极差法)、TUKEY(Q法或Tukey氏固定极差法)、DUNNETT(用于设置于对照试验的DLSD法)等。
显著水平的