已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Engine(引擎)是一种访问架构,SAS系统通过它迅速地对其它数据库管理系统中文件进行读入和写出。1LIBNAME语句1.1解读定义 SAS 逻辑库。具体地说,它可以 (1)向 SAS 标识 SAS 逻辑库 (2)将引擎与逻辑库关联 (3)让您指定逻辑库的选项 (4)为逻辑库指定逻辑库引用名 通俗得讲,LIBNAME语句把一个libref(库标记名)和一个目录联系起来,使用户可以在SAS语句中使用库标记来指示这个目录。提交该程序时自动引用该 SAS 逻辑库1.2 语句格式 1、LIBNAME libref ;2、LIBNAME libref Clear;3、LIBNAME libref |_ All_ List;三种格式反映了LIBNAME语句的三种用法选项说明2.length语句SAS变量的基本类型有两种:数值型和字符型。数值型变量在数据集中的存贮一般使用8个字节。SAS的字符型变量缺省的长度是8个英文字符,可以使用LENGTH语句指定变量长度,LENGTH语句一般应出现在定义变量的Input语句之前,格式为:LENGTH 字符型变量名 $长度例如:length name $20 ;3. input 语句3.1解读INPUT语句 用于向系统表明如何读入每一条记录。它的主要功能有:读入由语句指定的数据列;为相应的数据域定义变量名;确定变量的读入模式(共有四种模式:column模式,formatted模式,list模式及named模式)。 input语句执行后,SAS将读取的数据暂时先保存在内存缓冲区,然后执行后面的语句,后面的语句可以对暂存在内存缓冲区中的变量值进行修改,到最后才将整条数据写入数据集,写入数据集的数据就不能在当前data步中再修改。注意:INFILE语句用于确定一个包含原始数据的外部文件,必须在执行INPUT语句前执行,如果要在程序中直接嵌入数据,就用CARDS语句代替INFILE语句。3.2 语句格式(Column模式)INPUT variable start-column;说明:variable 变量名$ 跟在变量后面,表明这个变量是字符型变量start-column 起始列号end-column 结束列号,如果变量值只包含一列,则可省略.decimals 如果输入值中没有包含一个隔开整数部分与小数部分的小数点,decimals用来显性的指明小数部分 单尾符 双尾符举例说明:input name $ 1-10 pulse 11-13 waist 14-15 gender $ 16;4.SET 语句Set语句可以用来读取单个数据集中的数据,也可以用来读取多个数据集中的数据拼接SAS新的数据集。程序为:DATA 新数据集;SET 输入数据集1 输入数据集2 .;Run;如果不适用DROP=和KEEP=选项,在新的数据集中将包含所有旧数据集的变量。5.DO 循环语句语句一:DO WHILE (expression);.more SAS statements.END;语句二:DO UNTIL (expression);.more SAS statements.END;语句三:DO index-variable=start ;. . . more SAS statements . . .END;例如:do i=1 to 10;do i=10 to 0 by -1 while(month=JAN);语句四:DO item-1;. . . more SAS statements . . .END;例如:do count=2,3,5,7,11,13,17;do month=JAN,FEB,MAR;do i=01JAN2001d,25FEB2001d,18APR2001d;这个语句是SAS比较特殊的循环结构,可以对枚举的项目依次执行,终止循环就是执行完这些列举的项目。语句五:DO over array-name;. . . more SAS statements . . .END;例如:data test; input sc01-sc05; array s sc01-sc05; do over s; s= s*100; end; cards;0.95 0.88 0.57 0.90 0.65;这个语句也是SAS比较特殊的循环结构,专用于数组,将数组的每一个元素访问一遍。6. IMPROT 语句import过程可以读取的数据有Access数据库、Excel文件和带分隔符的文件。6.1语法格式PROC IMPORTDATAFILE=filename | TABLE=tablenameOUT=SAS-data-set ;说明:DATAFILE=filename 用来指定数据文件的位置,如果是Access则用TABLE=tablename指定需要读取的数据表;OUT= 指定输出数据集的名称;DBMS=identifier 指定导入数据表的类型;几个常用的DBMS选项如下 ACCESS 读取MS ACCESS2000/2002数据 EXCEL 读取Excel2000/2002数据 CSV 读取逗号分隔的文件 DLM 读取分隔符文件,需要用DELIMITER=指明具体的分隔符 TAB 读取Tab分隔的文件REPLACE选项替换原来已经存在的数据集,缺省情况下是不替换,并在LOG窗口中予以提示;6.2 proc import读取带分隔符的文件语法格式:PROC IMPORTDATAFILE=OUT=DBMS=REPLACE;(Data source statements:)DATAROW=n ;DELIMITER= ;GETNAMES=YES|NO;说明:DBMS= 需要指定DLM,逗号分隔文件可省略;DATAROW=n; 指定从数据文件的第几行开始读取,该选项缺省情况下,如果getnames=yes则从第二行开始读取,getnames=no从第一行开始读取;DELIMITER=; 指定分隔符;GETNAMES=; 告诉SAS是否将数据文件的第一行作为变量读取,该选项缺省为yes。如果第一行是变量名,而该选项为no则会将列为数值型的第一行读取为缺失值。当指定getnames=no时,对于DLM文件,则SAS自动将变量命名为VAR1, VAR2, .;对于Excel文件,则SAS自动命名变量为F1, F2, 举例:proc import datafile=C:My Documentsmyfilesdelimiter.txt out=mydata dbms=dlm replace; delimiter=&; getnames=yes;run;6.3 proc import读取Excel文件语法格式:PROC IMPORTDATAFILE=OUT=DBMS=REPLACE;(Data source statements:)SHEET=;GETNAMES= YES|NO;注:读取Excel时,可以不指定DBMS=选项。举例:proc import datafile=c:clinic filesdrug1.xls out=drug1; sheet=lab; getnames=yes;run;6.4 proc import读取数据库表(如Access)语法格式:PROC IMPORTTABLE=OUT=DBMS=REPLACE;(Data source Statements:)DATABASE=PWD=UID=WGDB=说明:DATABASE= 指明数据库存放的路径及名字UID= 数据库用户名PWD= 密码WGDB= 工作组名称举例:proc import table=customers out=sasuser.cust dbms=access97; uid=userid; pwd=mypassword; database=c:myfileseast.mdb; wgdb=c:winntsystem32security.mdb;run;通常情况下,proc import是可以不掌握的,通过视窗操作可能更方便,特不过用proc import能够更精细的控制。在写import过程的时候,要特别注意分号的位置,从最开始的语法格式那里可以看出,proc import后面的一般选项是连在一起写的,中间用空格隔开,最后才以分号结尾;而数据源选项则每一项都要以分号结束。这些地方往往容易出错。7. CARDS语句 用于直接输入数据,标志着数据块的开始。格式如下:CARDS;数据块;8.SORT和BY语句SORT语句将指定的数据集按指定变量排序。 使用BY语句可以使生成的数据集按照某个变量排序,但输入数据集必须预先按该变量排序。使用PROC SORT语句可以进行排序,一般形式为:PROC SORT DATA=数据集 OUT=排序后的数据集;BY 变量;RUN;e.g. Proc sort date=stockreturn; by firm date;run;9. 宏在宏变量前加&来引用宏变量的值。用一个百分号(%)加宏名称就可以调用该宏。%macro 宏变量名:定义宏变量%DO :条件处理至一个匹配的%END出现%If-%Then /%Else :有条件执行宏10. MERGE语句用MERGE语句合并SAS数据集。但是,输入数据集必须预先按该BY变量排序。语句一般形式为:式为:DATA 新数据集 ;MERGE 输入数据集1 输入数据集2 ;BY 变量;RUN;e.g. 下图展示合并数据集A、B 的结果:Data gooddata;Merge stockreturn sample (in=a);By firm;If a=1;Run;注意:这里merge语句使用了两个选项,当一个SAS数据步同时读入多个SAS数据集时,可以使用IN=选项来确定本观测来自哪个数据集,in=选项的一般形式是:SAS-data-set(IN=variable)。其中,variable是一个临时的数值型变量;Variable=0 表示观测不是来自本数据集;Variable=1表示观测是来自本数据集;在这里使用IN选项的目的就是把所有来自数据集sample的观测输出到新数据集gooddata中。11.REG语句REG过程用来进行回归分析。在MODEL语句中有许多选项,其中的几个选项如下:CLM 回归估计值0.95置信区间的上界和下界。CLI 因变量预报值的0.95置信区间。P 由输入数据和回归方程计算预报值。输出观测序号,ID变量(需事先规定ID语句),实际值,预报值和残差。如果已规定了CLM、CLI或R,选项P就不需要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025下半年四川文理学院选调2人备考考试题库及答案解析
- 2025陕西渭南市各级体育运动学校教练员专项招聘32人备考笔试试题及答案解析
- 2025年陕西华远正和制药招聘备考考试试题及答案解析
- 评审与报价课件
- 仪器仪表厂客户投诉管控方案细则
- 2025凭祥国家重点开发开放试验区管理委员会招聘工作人员1人备考笔试题库及答案解析
- 2025年12月重庆市万州区恒合土家族乡办事处公益性岗位招聘1人备考笔试题库及答案解析
- 钝感力课件教学课件
- 醋酸的课件教学课件
- 求职行政岗位面试常见问题解答
- 苗药的功能讲课件
- 医院文化调研活动方案
- QGDW11914-2018电力监控系统网络安全监测装置技术规范
- 华为纪律完整管理制度
- 危废仓库台账管理制度
- 北京物流专项规划
- AI在PCB设计自动化中的应用
- 【《客服系统、用户感知以及持续使用意愿三者关系的实证研究》23000字(论文)】
- 湖州超钠新能源科技有限公司钠离子电池关键材料及电芯研发实验室建设项目环评报告
- 学校代收代管协议书
- xx加油站-反恐应急预案
评论
0/150
提交评论