第一章 统计软件使用基础
SAS是国际著名的统计分析软件,不但具有数据管理、计算和分析的高级语言编程功能,还有基于菜单系统的SAS/Analyst(分析家)模块。Excel是电子表格软件,在管理数据的基础上,通过编辑公式、分析工具库和函数数据,也具有部分常用的数据统计功能。本章简单介绍SAS软件的编程基础和SAS/Analyst(分析家)模块操作,Excel软件公式编辑、分析工具库和函数数据操作的基础知识,为通过SAS软件和Excel软件实现试验数据的统计分析奠定基础。
第一节 SAS编程基础
SAS是“统计分析系统(Statistical Analvsis Svstem)的英文缩写。该系统是由北卡罗来纳州立大学统计系的两位教授A.J.Barr和J.H. Goodnight于20世纪60年代末开发的。最初是以统计分析和线性统计模型为主,至今已开发成为功能强大的集成应用软件系统。本软件包括30多个工具模块,广泛应用于实用统计、运筹学、质量控制、大型矩阵计算等,是国际上公认的统计软件。目前最新版本为SAS 9.3。
本书以Windows XP操作系统下的SAS 9.0为主,介绍SAS统计功能的具体使用方法。本韦所做的介绍仅供读者对SAS有一些肤浅的了解,能够使用SAS软件处理本书中的各种统计方法。若要对SAS统计功能有深入了解,请参考书后所引用的相关书籍。
一、SAS的界面操作
单击“开始菜单“程序项,光标移到“SAS程序项处,选择“The SAS Svstem for Win-dows 9.0(简体中文),单击即启动SAS。
SAS启动后在屏幕上出现的是显示管理系统(display manager)(图I-I)。
图1-1 显示管理系统窗口:编辑器窗口,日志窗口,输出窗口
显示管理系统主要有三个窗口,一个是编辑器( PROGRAM EDITOR)窗口,一个是日志(I。()G)窗口,一个是输出( OUTPUT)窗口(图1-2)。其中编辑器和日志两个窗口在启动后可直接看到,屏幕的左上角是命令框。
图1-2 显示管理系统的输出窗口
上述三个窗口的主要功能如下:①编辑器窗口:输入SAS程序和数据;②日志窗口:显示执行程序过程中的有关信息;③输出窗口:显示程序执行的结果。
二、SAS的基础知识
(一)SAS语句
SAS语言的基本单位是语句。每个SAS语句一般由一个关键词(如DATA,PROC,IN-PUT,CARDS,BY)开头,包含SAS名字、特殊字符、运算符等,以分号“;结束。SAS关键词是用于SAS语句开头的特殊单词,SAS语句除了赋值、累加、注释、空语句以外都以关键词开头。SAS名字在SAS程序中标识各种SAS成分,如变量、数据集、数据库等。SAS名字由1到8个字母、数字、下划线组成,第一个字符必须是字母或下划线。SAS关键词和SAS名字都不分大小写。
(二)SAS程序语法规则
SAS语句不需要单独占一行,一个语句可以写到多行(不需任何续行标志),也可似在一行连续写几个语句。SAS语言中只要允许用一个空格的地方就可以加入任意多个空白(空格、制表符、回车),允许用空格的地方是名字周围和运算符周围。如程序
和
是等效的。
SAS关键词和名字不分大小写,但字符型数据值要区分大小写,如“Beijing和“BEI-JING被认为是不同的数据值。
在SAS程序中可以加入注释,用/和-/在两端界定注释,这种注释可以出现在任何允许加入空格的位置,可以占多行。我们一般只把注释单独占一行或若干行,不把注释与程序代码放在同一行。注释的另一个作用是把某些代码暂时屏蔽使其不能运行。下面是一个注释的例子:
(三)SAS语句的赋值
在SAS中用赋值语句计算一个值并存放到变量中。格式为“变量名—表达式。例如:
其中,第一个赋值语句用一个公式计算平均分数;第二个生成一个取值为0或1的变量,花色为紫时为1,否则为0;第三个使用了正弦函数和乘方运算;第四个给变量赋了缺失值。
注意:想试验上述语句要把它们放人数据步中,并且等号右边的表达式中的各变量应该是存在的,否则会得到缺失值结果。
三、SAS的数据步
SAS程序包括数据步和过程步两种结构,每一个步是一段相对完整的可以单独运行的程序。SAS语言的编程计算能力主要由SAS数据步提供。数据步用来生成、整理数据和自编程计算,过程步调用SAS已编好的处理过程对数据进行处理。应用SAS编程序进行计算主要在数据步中进行。
(一)数据步的基本结构
数据步中可以使用INPUT、DATALINES(CARDS)、INFILE、SET、MERGE等语句指定数据来源输入数据,也可以用赋值、分支、循环等编程结构直接生成数据或对输入的数据进行修改。
1.DATA语句
DATA语句以关键词DATA开头,后面给出一个数据集名,这是本数据步要生成的数据集的名字。例如:
也可以省略数据集名,这时SAS自动生成一个临时数据集名。
2.INPUT语句
指定读人数据的格式以及为读入的数据指定变量名及格式,其语法如下所示。
INPUT<变量名1变量名2 变量名n><选项>;
在数据步中输入数据可以从原始数据输入,也可以从已有数据集输入。从原始数据输入要使用INPUT语句来指定输入的变量和格式。
最简单的INPUT语句使用自由格式:按顺序列出每个观测的各个变量名,中间用空格分开。变量如果是字符型的需要在变量名后面加一个S符号,S符与变量名可以直接相连也可以隔一个空格。
3.CARDS/DATALINES语句
用于在SAS系统中直接输入数据,表明所列数据的开始。数据行写在CARDS语句(或
DATALINES语句)和一个只有一个顶头的分号的行之间。
DATA语句、INPUT语句、CARDS语句的使用可见下例。
注意:这个例子的数据有11个观测,5个变量,每行数据的各变量之间用空格分隔。为输入这些数据,INPUT语句中依次列出了5个变量名,并在字符型变量name后加了S符。要生成一个数据集这是最简单的写法。
(二)循环结构
SAS数据步可以使用循环结构读入数据,循环结构包括计数DO循环,当型循环和直到型循环,应用最多的是计数DO循环。计数DO循环的写法是:
DO计数变量一起始值TO结束值<BY步长>;
在DO和END之间可以有多个语句。程序先把计数变量赋值为起始值,如果此值小于等于结束值则执行循环体语句,然后把计数变量加上步长,再判断它是否小于等于结束值,如果是则继续执行循环体,直到计数变量的值大于结束值为止。上述结构中“BY步长可以省略,这时步长为1。如果步长取负值,则继续循环的条件是计数变量大于等于结束值。
例如:
(三)函数
SAS提供了比一般程序设计语言多几倍的标准函数可以直接用在数据步的计算中,其中包括所有语言都有的数学函数、字符串函数,还包括特有的统计分布函数、分位数函数、随机数函数、日期时间函数、财政金融函数等。
SAS函数格式为函数名(<变量1>,<变量2>, ),“函数名(OF变量名列表),其中变量名列表可以是任何合法的变量名列表。
1.数学函数
ABS(x):求z的绝对值。
MAX( x1,x2, ,xn):求所有自变量中的最大一个。
MIN( x1,x2, ,xn):求所有自变量中的最小一个。
MOD(x,y):求x除以y的余数。
SQRT(x):求x的平方根。
ROUND(x,eps):求x按照eps指定的精度四舍五入后的结果,如ROUND( 5654. 5654,0.01)结果为5654. 57,ROUND(5654. 5654,10)结果为5650。
LOG(x):求x的自然对数。
LOGIO(x):求x的常用对数。
EXP(x):指数函数ex。
SIN(x),COS(x),TAN(x):求x的正弦、余弦、正切函数。
ARSIN(y):计算函数y=sin(x)在x取值区间为一号,号]的反函数,y取[-1,1]间值。
2.分布密度函数、分布函数
作为一个统计计算语言,SAS提供了多种概率分布的有关函数。分布密度、概率、累积分布函数等可以通过几种统一的格式调用,格式为
分布函数值=CDF(分布’,x<,参数表>);
密度值= PDF(分布’,x<,参数表>);
概率值= PMF(分布’,x<,参数表>);
对数密度值= LOGPDF(分布’,x<,参数表>);
对数概率值= LOGPMF(分布’,x<,参数表>);
CDF计算由分布指定分布的分布函数,PDF计算分布密度函数,PMF计算离散分布的分布概率,LOGPDF为PDF的自然对数,LOGPMF为PMF的自然对数。函数在自变量x处计算,<,参数表>表示可选的参数表。
分布类型取值可以为BINOMIAL,CHISQUARED,F,NORMAL或GAUSSIAN,POISSON,T等。可以只写前四个字母。
例如,PDF(lNORMAILI,1.96)计算标准正态分布在1.96处的密度值(0. 05844),CDF(lNORMAL,1.96)计算标准正态分布在1.96赴的分布函数值(0.975)。PMF对连续型分布即PDF。
除了用上述统一的格式调用外,SAS还单独提供了常用分布的密度和分布函数。
PROBNORM(x):标准正态分布函数。
PROBT(x,df<,nc>:自由度为df的f分布函数。可选参数粗nc为非中心参数。
PRoBCHI(x,df<,nc>:自由度为df的卡方分布函数。可选参数nc为非中心参数。
PROBF(x,ndf,ddf<,nc>:自由度为ndf,ddf的F分布的分布函数。可选参数卵(’为非中心参数。
PROBBNMl(p,n,m):设随机变量y服从二项分布B(n,p),此函数计算P(Y≤m)。
POISSON( (lambda,n):参数为lambda的Poisson分布y≤n的概率。
3.分位数函数
分位数函数是概率分布函数的反函数。其自变量在0到1之间取值。分位数函数计算的是分布的左侧分位数。SAS提供了六种常见连续型分布的分位数函数。
PROBIT(p):标准正态分布左侧乡分位数。结果在-5到5之间。
TINV(p,df<,nc>:自由度为df的f分布的左侧p分位数。可选参数nc为非中心参数。
CINV(p,df<,nc>:自由度为df的卡方分市的左侧p分位数。可选参数nc为非中心参数。
FINV(p,ndf,ddf<,nc>:F(ndf,ddf)分布的左侧p分位数。可选参数卵nc为非中心参数。
GAMINV(p,a):参数为“的伽马分布的左侧p分位数。
BETAINV(p,a,b):参数为(“,6)的贝塔分布的左侧p分位数。
4.样本统计函数
样本统计函数把输入的自变量作为一组样本,计算样本统计量。其调用格式为“函数名(自变量1,自变量2, ,自变量n)
温馨提示:请使用罗湖图书馆的读者帐号和密码进行登录