人大经济论坛SAS初级班教程_第1页
人大经济论坛SAS初级班教程_第2页
人大经济论坛SAS初级班教程_第3页
人大经济论坛SAS初级班教程_第4页
人大经济论坛SAS初级班教程_第5页
已阅读5页,还剩131页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1推荐教材1.SAS系统的帮助以及在线文档,都是学习SAS的很好的工具。/documentation/onlinedoc/sas9doc.html2.《SAS系统BaseSAS软件使用手册》高惠璇等编译,中国统计出版社19973.《SAS系统SAS/STAT软件使用手册》高惠璇等编译,中国统计出版社19974.《实用统计方法与SAS系统》高惠璇北京大学出版社20012数据类型横截面数据集(cross-sectionaldataset)

时间序列数据集(timeseriesdataset)混合横截面数据集(pooledcrosssectiondataset)综列数据集(paneldataset)离散数据(discretedata)持续数据(survivaldata)3SAS模块BaseSAS:

1、数据管理功能

2、基础统计计算功能

3、报表生成和图形显示功能

4SAS/STAT统计分析SAS/INSIGHT数据探索SAS/ASSIST面向任务的易学易用模块SAS/ETS时间序列处理SAS/OR运筹学和工程管理SAS/QC质量控制SAS/IML矩阵运算SAS/GRAPH绘图SAS/AF面向对象编程(OOP)的应用开发工具,拓展SAS的功能5SAS/EIS面向对象编程的开发工具,用于开发企业信息系统SAS/ACCESS数据访问SAS/TOOLKIT扩充工具,把用其他软件编写的程序转化成SAS的组成部分SAS/WarehouseAdministrator数据仓库管理SAS/EnterpriseMiner数据挖掘SAS/TextMiner文本挖掘SAS/SHARE数据库的并发式控制专门软件SAS/CONNECT使各平台SAS系统进行分布式处理,从而有效利用各平台机器资源6SAS/GIS地理信息系统与空间数据的显示分析SAS/SPECTRAVIEW数据可视化分析工具,用几何成像的方式来分析多维数据SAS/Intrnet提供构建基于SAS的企业内部网络支持SAS/FSP快速数据处理的交互式菜单系统SAS/CALC功能完善的多维电子表格软件SAS/ENGLISH提供利用自然英语获取信息的能力7SAS/SECURE网络传输加密SAS/OLAPSERVER多维数据存储及汇总结果呈现SAS/GENETICSSAS公司的第一个科学研究应用软件,应用于遗传学,有5个分析过程SAS/High-PerformanceForecasting:提供快速高效的预测结果SAS/C,SAS/C++针对IBM大型机的开发工具SAS/LAB向导式的数据分析软件,特别针对day-to-day类型数据8SAS/Insight模块

1、界面介绍

2、Fillvalues功能

3、Extract功能

4、Edit/windows/tool菜单使数据探索色彩缤纷(注意选项设置)

5、打开分布、拟合、多元等的窗口之后主菜单Tables、Graphs、Curves菜单才被开放。

Fly,insurance数据集示例9Insight模块其他功能:

1、分布(输出大多数常用的统计量)

2、拟合(回归分析)

3、多元(方差分析)10SAS程序的书写格式1、SAS程序由语句组成,语句用分号结束。2、SAS语句可以从某一行的任意位置开始;3、几个SAS语句可以写在同一行上,但每句要使用分号11SAS程序的书写格式4、一个语句也可以写成几行,只要语句中的单词不被断开就可以。在一个语句中各个单词之间至少要有一个空格。5、SAS程序中一般不区分大小写(字符串中要区分大小写)6、用/*注释的内容*/来对程序进行注释12SAS程序的结构SAS数据集

样本(观测、记录)、变量(字段、域)、表(数据集)、数据库许多SAS语句都是以关键词开始并用它识别语句的类型(如data、input、proc)绝大部分的SAS语句都可分为两步:

DATA步和PROC步13SAS的变量及格式变量属性(名称、类型、长度、输入格式、输出格式、标签)

类型:数字型、字符串型

输入格式:数据被SAS读取的格式

输出格式:数据呈现给人们的格式14SAS程序第二例SAS/orange.sas

输入数据-形成数据集-排序-打印显示15SAS文件及命名1、SAS数据集文件(后缀为sas7bdat)2、SAS程序文件(后缀为sas)3、SAS日志文件(后缀为log)4、SAS输出文件(后缀为list)16SAS文件及命名临时数据集和永久数据集

SAS文件的2级命名方式:目录.文件名

work目录和其他目录

使用Libname语句创建永久数据集,

libname自建目录名‘目录地址’;

libname例17建立SAS数据集的5种方法

1、data步自己输入数据建立。Orange例

2、data步利用set语句建立。Set例

3、从外部调入。Infile例

4、利用“导入数据”功能建立。Id.xls例、data.txt例

5、利用EFI(externalfileinterface)功能导入。Column.dat例、tests.dat例、comma.dat例Analyst分析家模块1、界面介绍2、浏览与编辑模式3、生成示例数据与抽样4、程序清单5、假设检验1819SAS运算符(operator例)算术运算符:

+-*/**比较算符:

=(EQ)^=(NE)>(GT)<(LT)>=(GE)<=(LE)in逻辑算符:

&(AND)|(!)(OR)

^(~)(Not)其它:><(最小值)<>(最大值)||(!)(连接)20字符的比较(operator_char例)1、按机器使用的字符排列次序(ASCⅡ或Unicode)从左到右被比较。2、两个不等长的字符串被比较时,系统在较短的字符串后自动添上空格3、在比较符后加冒号,则只比较首字母21运算次序一在括弧里的表达式先计算第一级:**(+-)前缀^><<>第二级:*/第三级:+-第四级:||第五级:其余比较算符第六级:&第七级:|22运算次序二对于相同优先级的算符,左边的运算先做。但有两个例外:1.对最高优先级,右边的运算先做2.当两个比较算符围着一个量时,这个表达式看成是有一个and出现一样被计算。

如:12<age<20,

等价于:12<age&age<2023SAS函数一(部分)数学函数:

abs()、max()、min()、mod(x,y)、sign(x)、sqrt(x)、sum()、mean()、exp(x)、log(x)、log10(x)、log2(x)、sin(x)、arsin(x)截取函数:

ceil(x)、floor(x)、int(x)、round(x,n)字符函数:

index(S,S1)、substr(S,p,n)、scan(S2,n)、upcase(S)、compress(S,S1)24SAS函数二(部分)SAS系统存贮日期值为1960年1月1日到指定日期之间的天数SAS存贮时间值为从午夜开始到指定时间的秒数日期时间值存贮为1960年1月1日午夜到指定日期时间之间的秒数日期时间函数:weekday()、day()、month()、qtr()、year()25SAS函数三(部分)概率统计函数:

probnorm(x)

n(ofX1-Xn)、nmiss(ofX1-Xn),

var(ofx1-xn)、std(ofx1-xn)随机数函数:

rannor(seed)、ranuni(seed)Functions例26DATA步文件操作语句运行语句控制语句信息语句27DATA步流程DATA语句标志了数据步开始,并指定了数据步结束时要生成的数据集名字。每次读入一行数据,读入后执行数据步中的其它语句,循环数据步读取整个数据。_N_变量表示DATA步已经执行的次数_error_变量值为1时表示程序出错Flow例28DATA步流程(Flow1例)(*)读外部数据时,数据步迭代(即每一次)的开始把变量的值置为缺失值,有几种情况例外:

1、retain语句提到的变量

2、sum语句中创建的变量

3、数组_temporary_中的数据元

4、file和infile语句选项中创建的变量

5、自动变量读sas数据集时,只在第一次迭代时把变量值置为缺失,以后变量保留其值直至新值写入29文件操作语句

DATA语句DATA语句的选项

DROP选项(不列出某些变量)

KEEP选项(列出某些变量)

LABEL选项(给数据集加标签)

RENAME选项(重命名变量)Data例

30DATA语句数据集名字:(data2例)

1、data语句后无数据集名字,则自动生成data1,data2等为数据集名字,相当于data_data_;

2、data_null_;不产生实际的数据集,只是把内容暂存于内存,以供put语句等读取结果,可以节约计算机资源

3、data_last_;以最近产生的数据集命名并取代其内容。31Input语句分组格式:

input(g1-g5)(3*7.2,2*5.2);input(ab)($5.)

input(ab)($,5.)@@-无需分行而按变量连贯读数据@-固定该数据行;用于需要多个input语句同时读取一行数据。

input@@例,Input@例32Input语句利用@n+n#n进行指针控制

input1例33Input语句几个特殊符号的用法(:&~)

:读值时第一次遇到分隔符、或是数据行末尾、或是读满列数而结束

&字符型输入值可以嵌有一个或几个空格

~字符型输入值保留引号(与infile语句中选项dsd一起使用才有效)Input2例34Cards语句Cards语句与datalines语句可以通用如果输入数据中含有分号,可用cards4语句或datalines4语句,同时,数据结尾用4个分号表示数据输入结束Cards4例35Put语句Put语句负责在log窗口输出一些结果,fileprint选项可把输出转移到output窗口Put_infile_(输出最新的数据行到SASlog窗口)Put_all_(输出所有变量的值)Put_page_(输出新页)Put例、put1例36File语句Fileprint把put语句产生的输出结果转移到output窗口Put例37By语句在DATA步中,SAS系统对每个BY组创建两个临时变量:

First.variable

Last.variable它们用来区别每个BY组的第一个和最后一个观测By例38Set语句使用set语句复制数据集Point选项指明要读入的记录序号

set数据集point=指针变量;

可用于抽样,一般与output语句连用Nobs选项创建一个临时变量用来存储数据集的观测总数见set例,point例39Set语句Set语句可以串接多个数据集,形式如下Data数据集;

set数据集A数据集B……;

<by变量;>

Run;Rename选项负责改名;in选项产生变量负责记录观测来自该数据集;见set2例40Merge语句使用Merge语句并接多个数据集,形式如下Data数据集;

merge数据集1数据集2……;

by变量;

run;见merge例41Update语句Update语句用一个升级数据集中的观测来修改一个主数据集。Update语句一定要与BY语句一起使用,BY语句给出了合并观测时共同变量的名字主数据集中的共同变量必须是单值的,即不能有两个或两个以上的观测其共同变量值相同Update例42Infile语句Delimiter(DLM)选项:规定一个字符替代空格作为分隔符。Firstobs选项:不是从文件的第一个记录开始,而是从指定行开始读取记录Obs选项:规定用户想从输入文件中连续读取的最后一个记录号Infile(dlm)例、Infile(obs)例43Infile语句DSD选项:

1、使最外层引号括起的内容当成整个字符串输入,并去除最外层引号

2、默认分隔符为逗号

3、两个相邻的分隔符意味着前一个分隔符后的字段为缺失值Infile(dsd)例(回顾input2例)44Infile语句当行末尾数据宽度少于规定宽度时

Flowover:默认选项,将下一条记录读入

Missover:将变量置为缺失

Truncover:将数据直接读入,不管宽度是否少于规定宽度

Stopover:系统终止数据步执行,报告出错Missover例45Infile语句Lrecl=n选项:设定源数据文件行的物理长度,缺省为256,最大可设为32767Pad|Nopad选项:pad选项指当宽度少于规定宽度时,在后面填充空格至Lrecl=n规定的行长度,缺省为nopadMissover例46运行(算)语句

赋值语句和累加语句赋值Variable=expression

例:x=a+b;累加Variable+expression

例:ifx=5thenn+1;

例:n+(-1)累加语句中的变量必须是数值型变量,初始值为047Delete和lostcard(*)语句Delete语句告诉SAS系统停止处理当前的观测,并且返回到这个Data步的开头处理其他观测当SAS系统遇到用几个记录表示一个观测的时候,数据中有丢失记录时,使用Lostcard语句来重新对准输入数据delete例,lostcard例48Stop和abort语句用stop语句来停止处理data步,正被处理的那个观测没有添加到SAS数据集中,stop语句不影响后面的任意data步或proc步的执行用abort语句来中止SAS系统执行当前DATA步,return选项关闭SAS并返回操作系统。Stop与abort的区别在于abort语句置_error_变量为1Abort例49Where语句从已存在的SAS数据集选择子集,在把观测读入之前规定数据必须满足一个条件Where语句与if语句相比在读取数据时更为高效,因其在移动所有观测到子集之前先选择数据。Where语句丰富的表达式where例50Output语句DATA步的每次迭代,后台自动使用output语句,但如果程序中主动加上output语句,即相当于取消自动output语句,变成在条件符合时输出。output例51Output语句用到output语句其他情况:output123例

1.从一个输入的数据文件中,创建几个SAS数据集

2.从输入的每个数据行中,创建二个或更多个观测

3.把几个输入观测组合并成为一个观测后面接名字表示输出到指定数据集,但名字必须也在DATA后出现52Call语句调用其他子程序

callroutine(parameter-1<,…parameter-n>)

如SAS提供一系列随机数子程序发布操作系统命令

callsystem(command)Call例(*)、Call_system例53控制语句

Do语句(循环语句)DO语句规定,在DO后面直到出现END语句之前的这些语句作为一个单元被执行。简单DO语句,常用在if-then/else语句里循环DO语句,用下标变量规定重复次数

doi=1to10;

doi=1toexit;

doi=2to8by2;Do_simple例,do例,do_exit例54Dowhile语句当条件成立时重复执行Do组里的语句

Dowhile(expression);括号里的表达式在Do组里的语句被执行前在循环的开头被计算。如果表达式是真的,Do组被执行Dowhile例55Dountil语句有条件地执行Do组里的语句,在循环的最后而不是在循环的开头计算表达式,如果表达式是真的,Do组就不再被执行。Do组里的语句至少执行一次。Dountil例56Select语句允许SAS去执行几个语句或者语句组中的一个。当一个特殊条件为真时,执行对应when语句,如果所有when条件均不成立,选择执行otherwise语句,用end结束Select(when)例57If语句1.形如:IFexpressionTHENstatement;

ELSEstatement;

2.形如:IFvariable

例:ifxtheny=x;当变量x的值为0和缺失之外的任意值时表达式均为真If_else例、If_x例58Return语句告诉SAS系统在data步当前这个位置上停止执行语句并在继续执行之前返回到一个预定的位置(通常是data步开头)当return语句使得SAS返回到data步开头时,SAS首先输出当前观测到新数据集中。每个data步都有一个隐含的return语句作为最后一个可执行的语句Return例59Goto语句告诉SAS系统立即转到Goto语句所指示的那个语句,并从那个语句开始执行后面的语句。形如:GOTOlabel;

label规定语句标号来指示Goto的目标,它必须与goto语句在同一个data步Return选项规定返回而不执行下面语句Goto例60Link语句(*)形如linklabel;立即转到由label语句指示的位置,并从那里开始继续执行语句直到一个return语句被执行。与goto语句的区别是:标签内的return语句让SAS立即返回到link语句后面的那个语句并从那里继续执行Link例61Continue和leave语句Continue语句使得某个do循环中当前这次循环过程停止进行,并继续进行下一次循环过程。Leave语句停止当前整个do组循环或select组的处理过程,并用跟在do组或select组后面的下一个语句继续执行data步Continue例,leave例62循环的嵌套(*)Do(do)例、select(do)例63怎样选择使用不同的控制语句DO:多次执行同样的代码块DOwhile:当while条件为真时,多次执行同样的代码块DOuntil:多次执行同样的代码块,直到until条件为真,代码块总会执行一次SELECT:知道明确的离散选择项时使用IF:希望从2个或多个可能的事件中完成一个,允许连续选择项64怎样选择使用不同的控制语句跳转代码(goto,link):需要暂停主代码,执行“标签”指明的其它代码中止代码(return,continue,leave):负责某种形式的中止。65信息语句

数组(array)语句当需要用同一种方法处理很多变量时,可以用数组语句定义这组变量为某个数组中的元素。1.显示下标array语句:由一个数组名字,在数组中元素个数的说明,及元素列表组成。2.隐含下标array语句:由一个数组名字、一个下标变量和列表名组成。66显示下标array语句形如:

ARRAYarray-name{subscript}<$><<array-elements><(initial-values)>>

例arraysimple{3}redgreenyellow;

arrayx{5,3}score1-score15;

arrayc{3}等价于arrayc{3}c1-c3

arraytest{3}t1t2t3(908070)

数组中的变量必须全是数值型或字符串型,array例67显示下标array语句规定数组中每一维的上下界:

arrayx{1:5,1:3}score1-score15;{*}表示SAS系统通过数组中变量的个数来确定下标。可用dim(数组名)函数计算数组元素个数。_temporary_建立一个临时数组元素列表array(dim)例,array(temporary)例,array(prod)例68隐含下标array语句形如:ARRAYarray-name<(index-variable)><$>array-elements<(initial-values)>如果没有规定下标变量,SAS系统使用自动变量_i_作为下标变量,下标变量范围从1到这个数组元素的个数如:arrayxx1-x5Array(s)例69Doover语句Doover语句对每个数组元素自动地执行Do组中的语句,它等价于doi=1tok;

其中i是这个数组的下标变量,k是数组元素的个数。Doover语句常用在对隐含下标数组元素执行Do组里的语句Doover例70Informat语句Informat语句把输入格式与变量联系起来,在data步,可以用informat语句对input语句中列出的变量规定缺省时的输入格式informat例71Format语句在data步把变量同输出格式联系起来可以规定缺省选项,如:

formatdefault=8.2;Format(informat)例,format_=例,72Drop和keep语句Drop语句:删掉变量语句

dropvariable-listKeep语句:保留变量语句

keepvariable-list虽然出现在drop和keep语句中的变量不包含在正被创建的SAS数据集中,但这些变量仍可以用在程序语句中Drop和keep不能同时使用73Retain语句使用retain给变量赋予初值,并保留到读下一个观测

retainmonth1-month51

retainvar1-var4(1,2,3,4)

当retain后无变量时,用input或赋值语句创建的所有变量的值,保留上次data步执行的值Retain例、retain2例74Attrib语句在data步内允许用一个attrib语句来规定一个或几个变量的输出、输入格式,标签和长度,即规定变量属性Attribxlabel=‘中国载人飞船’

length=4

informat=8.5

format=8.2;Attrib例75Window语句创建用户专用的窗口,可用来显示文字说明或接受输入的数据Window例76上机练习1编制程序:

六个变量idd1-d5,数据节选如下:

127231001000233354561000

3.4644100要求:如果相邻数据小于等于7,则置为缺失,数据结果应如下:1..231001000

2333..1000

3...4410077上机练习2(ex2例)编制程序:

3个变量d1-d3,数据节选如下:

12723.

3.4要求:如果发现缺失值,即用该列数据的平均值来代替,数据结果应如下:127

235.5

32.5478Proc步的通用语句(Reg例)Proc-用在proc步的开头并规定用户使用的SAS过程名字及其他信息Var-规定用这个过程分析的一些变量Model-规定在模型中类似表示因变量(左)和自变量(右)的这样一些变量及其他信息Weight-规定一个变量,它的值是这些观测的相应权数79Proc步及通用语句Freq-规定一个变量,其值表示频数Id-规定一个或几个变量,他们的值在打印输出中或由此过程产生的SAS数据集中用来识别观测Where-在SAS把观测引入proc步之前,用来选择符合特殊条件的观测Class-在分析中指定一些变量为分类变量80Proc步及通用语句By-规定一些变量,SAS过程对输入数据集用by变量定义的几个数据组分别进行分析处理Output-给出用该过程产生的输出数据集的信息Quit-结束交互式的过程其他如Attrib属性语句、format输出格式语句、label标签语句等81Transpose(转置过程)Transpose过程完成对sas数据集的转置,即把观测变为变量,变量变为观测。Out选项规定输出数据集Prefix选项规定转置后的变量名前缀Id选项使用其后规定的变量值作为输出数据集中被转置的变量名Transpose例82Means均值过程计算数据集中数值变量的简单统计量T选项:检验数据总体均值为0的假设时,t统计量的值Prt选项:Prob>|T|,数据总体均值为0的概率是多少默认生成的_type_和_freq_变量分别规定分组数(如果有)和频率Means例,weight例,freq例83Means均值过程Maxdec选项规定输出结果的小数部分最大位数可以输出的统计量:

N,Nmiss,mean,std,min,max,range,sum,var,uss,css,cv(变异系数),stderr,t,prt,sumwgt,skewness(偏度),kurtosis(峰度),clm(置信限),lclm(置信下限),uclm(置信上限)84Format过程(format_num,char,lowhigh例)使用Format过程把输出格式同Data步、Proc步的变量联系起来。输出格式一:SAS格式输出格式二:Format定义的格式,形如value格式名变量值=‘自定义值’;

proc…;

format变量格式名.;85Format过程输出格式三:图示输出,只适用于数值型变量,形如

picture格式名other=’格式化值’;

proc…;

format变量格式名.;Format_picture例

86Plot过程对数据集中任两个变量的n个观测值画出散点图,第一个变量表示y轴,第二个表示为x轴两种情况:

ploty*x=‘+’;(规定一个字符作为作图字符)

ploty*x=sex;(作图字符由变量的值给出)

87Plot过程Vref(Href)要求散布图在垂直(或水平)轴的一些规定值上画水平线(或垂直线)作为参照线/overlap选项:在同一张图上作两个以上的散点图。如:ploty*xa*b/overlay;Plot(函数)例88Standard标准化过程目的是使不同量纲的变量能互相比较Standard过程按给定的均值和标准差对数据集中的变量进行标准化变换,并生成一个包含标准化值的新SAS数据集Mean=mean-value:规定均值Std=std-value:规定标准差Standard例89Rank过程与其研究数值大小不如研究排序的情况该过程把数值从最小到最大排列,对最小值赋予秩1,对第二小值赋予秩2,一直到赋予秩n,即未丢失的观测个数。出现结值(tie)时,其秩可以赋予平均秩或高秩或低秩。Ranks选项分配求秩后的变量名Rank例90Univariate过程又称单变量过程,可以求单个变量的大部分统计指标Normal选项:要求对数据服从正态分布(原假设)进行检验。

当样本容量<=2000时,使用W统计量检验

当样本容量>2000时,使用D统计量检验91Univariate过程Outputout=datasets要求输出包含指定统计量的数据集Pctlpts规定该过程不能自动提供而用户又希望计算的百分位数Pctlpre要求给出百分位数的输出变量名的前缀,pctlname……后缀。Univariate例92Corr过程计算变量间的相关系数相关是对两个变量间线性关系强弱程度的一种测度。如果一个变量恰好可表示成另一个变量Y的线性函数,那么相关系数为1或-1,即正相关或负相关。如果两变量间的相关系数为0,这意味着两变量无线性关系。Corr例93Options过程列出SAS系统选项的当前值。SAS系统选项是SAS系统用来控制SAS数据集的处理,输出的格式和内容等的全局选项系统选项的优先次序:

options语句>配置文件>缺省设置例:optionsnodate;Options(view)例,options例94Printto过程该过程用来定义SAS过程输出和SAS日志输出的地点Print选项规定输出结果存放地点Log选项规定输出日志存放地点New选项表示要覆盖已存在的文件,如无new选项但有已存在的文件名,则在已有的文件内容后追加Printto例95Compare过程该过程用来比较两个SAS数据集中的内容用base和compare选项分别规定待比较的两个数据集Compare例96Datasets数据库管理过程该过程用来对SAS数据库中的SAS文件进行列表、拷贝、更名,添加和删除等操作Datasets是交互过程,可以不断插入并执行该过程的相关语句而不用重复调用Datasets,但可以使用quit语句或另一个proc步或data步来终止此过程Datasets1例97Datasets过程Indexcreate:创建简单或复合索引Pw(read、write、alter):设置密码Repairmember-name:在适当情况下试图重新存贮被损坏的SAS数据集或目录Datasets(index)例、datasets(pw)例98SQL过程SQL结构查询语言(StructuredQueryLanguage)是一个标准化的广泛使用的语言,可以检索和更新关系表格和数据库中的数据。关系,类似于数学中的集合概念,实际上被表现为一些排列成行和列的二维表格(关系数据库)99SQL过程SQL语句的特征:

子句内的项用逗号分开;

不需规定Run语句;100SQL过程Select语句用来检索和操作存于表中的数据。(order从句,format选项)Create语句生成表格Update语句增加或修改在表格的列里的数值,Insert和Delete语句插入和删除行,用Alter语句增加、修改、删去列来修改表格。101SQL过程Delete语句从表中删去where表达式为真的所有行Insertto往一个新的或已存在的表中加入新的行Sql例102全程语句Quit,run,endsas:分别为结束、运行SAS语句、关闭SAS系统Title,footnote:添加标题和脚注Filename:对一个外部文件定义标记Libname:对一个SAS数据库定义标记Filename例,libname例103全程语句Missing语句规定表示缺失值的字符,通常出现在data语句中,但其作用范围是全局的。Page语句使得日志跳到新一页Skip语句使得日志跳过规定的行数%include语句从外部文件读出SAS语句或数据行并执行:Missing例,page例,skip例,Include1例104Tabulate制表过程(Tabulate例)由分类变量、分析变量和统计量关键词组成的表达式构成描述性统计报表。Tabulate过程的Table语句的操作符(星号、空格、园括号,逗号)

1.交叉连接项,即嵌套(使用*号)

2.项与项之间的并列连接,即平行(使用空格)

3.改变次序(使用园括号)105Tabulate制表过程4.产生的报表最多三维:如果包含二维,次序为行、列;如果包含三维,次序为页、行、列。(维表达式间用逗号隔开;)

5.用<>定义Pctn统计量的分母分类变量必须在class语句中说明分析变量必须在var语句中列出106Tabulate制表过程Proctabulate过程的其他语句

1.missing选项:要求把缺失值作为分类变量的有效水平

2.order=freq|data|internal|formatted

规定报表中分类变量值出现的次序

freq:按频数下降的次序

data:按原数据集中出现的先后次序

internal:按非格式化值的次序

formatted:按格式化值的次序107Tabulate制表过程Label语句用来对变量加标签Keylabel语句用来对统计量加标签统计量:N(字符型变量的默认统计量),Nmiss,Mean,Std,Min,Max,Range,Sum(数值型变量默认统计量),Var,Pctn(频数N的百分数,后面参数为列变量则是行百分比,后面参数为行变量则是列百分比)F或format表示输出使用一定的格式,

如:a*f=8.2;108Tabulate制表过程全类变量all,当all嵌入某个交叉时,all不考虑分类变量的水平,而用all来生成子集和及总和。

如B*(Aall)、(allB)*(allA)Tabulate1例109上机练习按tabulate1例,模拟编制类似数据,练习各种制表方法110第五部分SAS/stat模块STAT模块的过程介绍111Freq过程(freq_cows,_eye例)Freq过程用于产生单向到n向的频数表或交叉表以及针对表格的各种统计量。用星号连接起来的变量,最后一个变量的值形成列,倒数第二个变量的值形成行,其余变量的每一个水平形成一层。

如:tablea*b*c*d;使用chisq卡方统计量,检验变量间的相关性,原假设为变量间不相关112SAS宏利用宏可以减少在完成一些共同任务时必须输入的文本量利用宏可以使程序模块化,使程序易读、便于修改、移植、方便重复使用113SAS宏变量宏变量属于SAS宏语言,与普通变量的区别是可以独立于DATA步可以在SAS程序中除数据行之外的任何地方定义并使用宏变量%let语句定义宏变量并分配一个值给宏变量(如:%letdsn=3)当引用一个宏变量的值,放&号在宏变量前114SAS宏变量(macro_str,_var,_auto例)使用%str函数围住宏变量的值,使得在这个值内部的分号作为这个文本的部分,而不是%let语句的结束使用%put语句在LOG窗口显示宏变量的值SAS/BASE中的自动宏变量,如:sysver,systime(给出SAS程序或会话开始执行的时间);115SAS宏用%macro语句开始一个宏,同时给出这个宏的名字。如:%macrodsn;

用%mend语句结束一个宏,其后给出宏名字。如:%menddsn;放一个百分数符号(%)在宏名字的前面以调用一个宏,如%dsnMacro例116宏参数被定义在一个%macro语句的宏名字后括号内的宏变量称为宏参数,可以直接给出宏参数的值,也可以在调用这个宏时给出这些参数的值。对参数分配的值只在这个宏执行时有效,而宏变量从用户创建直到SAS会话结束前都存在macroP1例、macroP2例117SAS错误的处理一、句法错误:当程序语句与SAS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论