




已阅读5页,还剩122页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SASBASE入门,快速的哦_,本篇概要,SAS系统简介用SAS读取外部数据(rawfile)用SAS读取和处理SAS数据集SAS数据集的连接,1.SAS系统简介,系统介绍功能模块界面分布逻辑库介绍建立一个新的逻辑库SAS数据集SAS语句简介功能键SAS语句执行过程及PDV概述,1.a系统介绍,全称为StatisticsAnalysisSystem,最早由北卡罗来纳大学的两位生物统计学研究生编制1972研制出第一版,1976年成立了SAS软件研究所,正式推出了SAS软件,现在是8.2版是用于数据分析与决策支持的大型集成信息系统,统计分析功能是它的重要组成部分和核心功能国际上的标准软件系统,1.b功能模块,SAS功能模块BASESAS模块SAS/STAT-统计分析模块SAS/GRAPH-绘图模块SAS/AF-交互式应用开发模块SAS/ACCESS-访问外部数据模块SAS/CONNECT-分布式数据处理模块,1.b功能模块,SAS/ASSIT-菜单驱动界面模块SAS/INSIGHT-可视化探索工具模块SAS/ETS-经济计量学和时间序列分析模块SAS/OR-运筹学模块SAS/QC-质量控制模块SAS/IML-交互式矩阵程序设计语言模块SAS/FSP-快速数据交互式菜单系统模块SAS/EIS-企业信息系统模块SAS/CALC-电子表格模块SAS/WA-企业级数据仓库管理模块SAS/EM-企业级数据挖掘模块,1.c界面分布,1.c界面分布,缺省情况下的活动窗口SAS资源管理器窗口结果窗口编辑器窗口(F5)日志窗口(F6)输出窗口(F7),1.c界面分布,资源管理器窗口管理SAS逻辑库和文件快捷方式逻辑库存贮SAS文件文件快捷方式标识外部文件四个系统逻辑库:MapsSashelpSasuserWork,1.c界面分布,编辑器窗口,编辑器窗口用来编辑SAS程序,编辑器能够实现如下的功能对SAS语言的彩色编码和语法检查可展开或折叠程序片段可记录宏支持键盘快捷方式(Alt或Shift)加上其它键多层撤消和恢复,1.c界面分布,日志窗口,程序行黑色:以语句标号开始提示蓝色:以NOTE开始警告绿色:以WARNING开始错误红色:以ERROR开始,1.c界面分布,输出窗口,输出SAS程序的执行结果,1.c界面分布,结果窗口,结果窗口可以查看和管理SAS程序的输出结果,1.d逻辑库介绍,从SAS系统来看,它所建立的众多的SAS文件可按不同需要将其归入若干个SAS逻辑库,以此来对SAS文件进行访问和管理。一个SAS逻辑库就是一组SAS文件。SAS逻辑库也是一个逻辑概念,在Windows环境下,一个逻辑库就是存放在同一个文件夹或几个文件夹中的一组SAS文件。,1.d逻辑库介绍,从SAS系统内部看,每个SAS文件也有表明它属性的类型,如SAS数据集的类型为data(数据文件)或view(数据视图),catalog等。注:catalog是sas目录,在catalog中存放的是frame,scl,类等AF组件以及其他sas文件。,1.d逻辑库介绍,Work数据库叫做临时库,存放在其中的SAS文件叫临时文件,这些临时文件当退出SAS系统时会被自动删除。Sasuser库保存与用户个人设置有关的文件,它是永久的,即退出SAS时文件不会被删除。Sashelp库保存与SAS帮助系统、例子有关的文件,是永久的。Maps,SAS系统的四个预定义数据库:,1.e建立一个新的逻辑库,建立一个新逻辑库的两种方法:通过菜单通过语句,1.e建立一个新的逻辑库,用菜单操作:在资源管理器窗口双击逻辑库图标。选文件新建输入newlib,引擎选项中保留默认项,选中启动时启用可以选择其他的引擎,读入不同格式的数据文件。点击浏览按钮,选上这个数据库的目录,点击确定。点击确定按钮,在资源管理器窗口出现newlib图标。,1.e建立一个新的逻辑库,1.e建立一个新的逻辑库,用LIBNAME语句:LIBNAMElibrefSAS-data-library;其中libref是逻辑库名,如newlibSAS-data-library是逻辑库的路径例:用LIBNAME语句创建SAS逻辑库。Libnamefdatad:fdata;Libnamestoindvfd:stoindvf;例中,创建SAS逻辑库FDATA和stoindvf。分别对应物理文件夹为D:fdata和D:stoindvf.,1.fSAS数据集,在SAS系统中,数据是以数据集的形式来存储和处理的。SAS数据集(SASDatasets)可以看作由若干行和若干列组成的表格。SAS数据集存放在以特殊格式存放的二进制文件中,用一个SAS逻辑名来使用SAS数据集,不需要知道它在磁盘存储的物理地址。数据集的每一行叫做一个观测(Observation),每列叫做一个变量(Variable)。SAS数据集等价于关系数据库系统中的一个表,SAS数据集有时也称作一张表。SAS数据集后缀为.sas7bdat,1.fSAS数据集,有关SAS数据集命名的约定SAS名字由英文字母、数字、下划线组成;第一个字符必须是字母或下划线;名字最多用32个字符,大写字母和小写字母不区分。SAS名中不能有空格和一些特殊字符($,#);系统保留了一些特殊的变量名,如_N_,_ERROR_等。,1.fSAS数据集,SAS数据集用两级水平名命名:第一级名字是SAS逻辑数据库的库名;第二级是文件的名字。例如Sashlep.Class,Sashelp是数据库的名字,而Class则是文件本身的名字。,1.fSAS数据集,临时数据集和永久数据集的区别:临时库数据集可以使用单水平名或双水平名;而永久库数据集必须使用双水平名字来加以确认。例如Work.Class和Class都代表临时库中的文件,而Sashlep.Class则是永久库中的文件。,1.gSAS语句简介,SAS语句由关键词开始,分号结束。语句中间的SAS名,过程名和运算符等为SAS系统提供信息或执行操作。例3.1有效的SAS语句。datadata1;putname$8.;formatdateyymmdd10.;procmeansdata=fdata.class;infiled:fdataclass.txt;doI=1to100;X=Y+1;SUMX+X;end;run;,1.gSAS语句简介,SAS语句格式:KEYWORDparameteroptions;关键词参数选项;其中:粗体-必须按显示形式书写的关键词;白正体-用户提供的信息;-括号内的信息可选;|-任选。参数PARAMETER不是任选项,不用括号,OPTIONS是选项关键词。,1.gSAS语句简介,数据步与过程步一组SAS语句组成一个SAS程序。SAS程序中的语句可分为两类步骤:数据步;过程步。所有SAS程序均有数据步和过程步两大模块构成。,1.gSAS语句简介,数据步数据步编译、创建和修改SAS数据集或文本文件、读入源数据文件和SAS数据集。数据步以DATA语句开始。例3.2数据步创建SAS数据集。dataA;setfdata.a1a0001;keepdateclpr;run;例中,由数据步产生数据集A,数据来源于SAS数据集FDATA.A1A0001(上证指数)的日期DATE和收盘价CLPR。,1.gSAS语句简介,过程步过程步面向SAS数据集,完成对数据集的加工整理、分析和呈现等功能。过程步以PROC语句开始。例3.3应用统计量均值过程。procmeansdata=fdata.a1a0001;varclpr;outputout=Mmean=CLPR_M;run;例中,过程步调用SAS的MEANS过程,对数据集FDATA.A1A0001(上证指数)中的收盘价CLPR求得均值CLPR_M,并将产生的结果存贮在数据集M中。,1.gSAS语句简介,一般特点:语句用分号结束不区分大小写空格、空行一般可以任意放置SAS的变量分字符型和数值型字符型变量缺失时,变量为空数值型变量缺失时,变量为.SAS程序由数据步和过程步构成,1.h功能键,F9调出功能键窗口。例如F3、F8是提交SAS程序F4是调用刚提交的程序F5、F6和F7分别是调用编辑器窗口、日志窗口和输出窗口。CLTE是清除窗口中的内容,1.iSAS语句执行过程及PDV概述,当一个DATA步被提交时,提交的语句先被编译成SAS内部编码,以在PDV区域搭建临时库。PDV(ProgramDataVector),是存储DATA步运行过程中每一个变量的记忆区。在程序执行过程中,观测值在PDV中生成,然后通过output语句输出到SAS数据集。DATA步每次只处理一个观测值,重复执行,直到最后一个观测处理完,执行完成。在默认情况下,每次DATA步从头开始执行时,PDV会被清空。,2.用SAS读取外部数据(rawfile),通过SAS语句或向导,可以方便地导入或导出多种类型的外部数据文件,如xls,csv,txt,dbf等。本章主要介绍如何用data步导入非固定格式的也即自由格式的外部数据。,2.用SAS读取外部数据(rawfile),Data;InfilefilerefDLM=characters;Inputvar1$:formatvar2;Run;,2.用SAS读取外部数据(rawfile),Fileref:导入文件路径及名称DLM:分割符,默认为空格。Missover:允许空值。Firstobs:从第x行读取数据k:从第k位开始读数据。$:定义的变量为字符型。Format:定义变量格式。M-n:读取m-n位。:停顿符。:继续读取。/:换行符。注:以从左到右的顺序读取数据。所有变量默认长度为8位,如读入数据超出8位,需在之前定义,2.用SAS读取外部数据(rawfile),例1:读入以空格分割的数据。,2.用SAS读取外部数据(rawfile),例2:读入以冒号分割的数据,2.用SAS读取外部数据(rawfile),输出为:,2.用SAS读取外部数据(rawfile),例3:改变相关变量的格式:,2.用SAS读取外部数据(rawfile),输出为:,2.用SAS读取外部数据(rawfile),例4:用missover读取数据,2.用SAS读取外部数据(rawfile),输出为:,2.用SAS读取外部数据(rawfile),如果不用missover:,2.用SAS读取外部数据(rawfile),输出为:,2.用SAS读取外部数据(rawfile),例5:用换行符/读入数据,2.用SAS读取外部数据(rawfile),输出为:,2.用SAS读取外部数据(rawfile),例6:,的运用,2.用SAS读取外部数据(rawfile),2.用SAS读取外部数据(rawfile),输出为:,注:为停顿符,在本例中,读完第8位后停顿,判断后继续读取本行数据,而不换行。,2.用SAS读取外部数据(rawfile),例7:运用,2.用SAS读取外部数据(rawfile),输出为:,3.用SAS读取和处理SAS数据集,Set语句DATA步的一般选项函数的介绍控制语句循环条件,3.aSet语句,SET语句可以从一个已经存在的SAS数据集创建新的数据集,它的一般形式:DATAnew;SETold;其他SAS语句;RUN;使用了SET语句后:所有SET语句指定数据集中的变量自动被读入PDV(除非使用了SET语句的一些特殊选项如KEEP=和DORP=选项),3.bDATA步的一般选项,byKeep/DropRenameWhereFormatLabelRetainArray,3.bDATA步的一般选项,By选项:一般在data步的set,merge,modify和update之后出现,用于分类不同的观测。语法:BYvariable-1variable-n;,3.bDATA步的一般选项,By选项例题:data_null_;setsorted_class;byheightgroupformat;iffirst.heightthenputShortestinheightmeasuresheight:best12.;run;,3.bDATA步的一般选项,当by跟在set之后时:数据需要事先排序每个by分类之后的第一个和最后一个观测会被自动创造。,3.bDATA步的一般选项,Datatemp;Setsalary;Bydept;Run;上述语句中,PDV内会生成出first.dept,last.dept两个临时变量:first.dept:分类后的第一个观测时,值为1,其余为0。last.dept:分类后的最后一个观测时,值为1,其余为0。,3.bDATA步的一般选项,3.bDATA步的一般选项,输出为:,注:_n_,first.dept和last.dept在实际输出中并不存在,而只存在于PDV。,3.bDATA步的一般选项,KEEP/DROP选项:控制哪些变量将被写入将要创建的数据集。语法:KEEP/DROPvariable-list;,3.bDATA步的一般选项,KEEP/DROP选项:DROP=和KEEP=选项有两种用法:用于输入数据集(用作SET语句的选项)控制哪些变量被写入PDV用于输出数据集(用作DATA语句的选项)控制PDV中的哪些变量被写入新创建的数据集,3.bDATA步的一般选项,Keep例题:keepnameaddresscitystatezipphone;keeprep1-rep5;,3.bDATA步的一般选项,RENAME选项:重新命名变量名。语法:RENAMEold-name-1=new-name-1.;,3.bDATA步的一般选项,Rename例题:datamarket(keep=newdeptnewaccntitemsvolume);renameolddept=newdeptoldaccnt=newaccnt;setsales;ifoldaccnt5000;run;,3.bDATA步的一般选项,WHERE选项:选出SAS数据集中符合条件的观测。语法:WHEREwhere-expression-1;逻辑符可以是:AND,ANDNOT,OR,或ORNOT.,3.bDATA步的一般选项,Where例题:datatestmacs;setcustomer;wheresubstr(name,1,3)=Macand(city=Charlestonorcity=Atlanta);run;,3.bDATA步的一般选项,Format选项:改变变量的格式。语法:FORMATvariable-1;FORMATvariable-1format;FORMATvariable-1formatvariable-1format;,3.bDATA步的一般选项,Format例题:datatstfmt;formatW$3.Y10.3default=8.2$8.;W=Goodmorning.;X=12.1;Y=13.2;Z=Howdy-doody;putW/X/Y/Z;run;,-+-1-+-2Goo12.103.200Howdy-do,3.bDATA步的一般选项,Label选项:语法:LABELvariable-1=label-1.;,3.bDATA步的一般选项,Label例题:labelscore1=GradeonApril1Testscore2=GradeonMay1Test;,3.bDATA步的一般选项,Retain选项:retain所指定变量的观测在一次data步运行完成后在PDV内不会被清空。,3.bDATA步的一般选项,dataclass.bestscores;dropgrade;setclass.allscores;byid;retainhighest;iffirst.idthenhighest=.;highest=max(highest,grade);iflast.idthenoutput;run;,Retain例题:dataallscores;inputid$grade;cards;1701751802602652802953743534804904954100;run;,输出:Idhighest809574100,3.bDATA步的一般选项,Array选项:将一系列相似的变量定义为一个数组。语法:ARRAYarray-namesubscript;,3.bDATA步的一般选项,Array例题:arrayrain5janrfebrmarraprrmayr;arraydays7d1-d7;arraytest4t1t2t3t4(90807070);arraytest2*a1a2a3(a,b,c);arraynew2:5greenjacobsdenatofetzer;,3.c函数的介绍,数值型变量的处理切断函数统计函数日期函数随机函数字符型变量的处理字符型变量与数值型变量的转换,3.c.数值型变量的处理,切断函数:Round:返回四舍五入后的数值。Ceil:返回大于等于该值的最小整数。Int:返回整数部分。,3.c.数值型变量的处理,输出为:,例1:,3.c.数值型变量的处理,统计函数:Sum:求和。Mean:求均值。Min:求最小值。Max:求最大值。Var:求方差。Std:求标准差。注:变量无需排序。无视缺失值。以上统计均为横向数值统计,3.c.数值型变量的处理,例:,3.c.数值型变量的处理,输出为:,3.c.数值型变量的处理,日期函数:,3.c.数值型变量的处理,随机函数:Ranuni(seed);,3.c.字符型变量的处理:,Index(a,b):返回变量b出现在变量a中位置的值。若b不在a中,则返回0。Scan(string,n):返回string中以delimiter分割的第n部分的字符。若不指定符号,则默认为:blank.):返回variable中第position开始length位字符。若length缺省,则返回position后的所有字符。,3.c.字符型变量的处理:,Trim:删除字符间空格。Upcase:所有字符大写。Lowcase:所有字符小写。|,!:连接两个字符变量。,3.c.字符型变量的处理:,3.c.字符型变量的处理:,3.c.字符型变量的处理:,结果:,3.c.字符型变量与数值型变量的转换:,Input:字符型转为数值型。,注:在某些情况下纯数值的字符型变量可以自动转化为数值型变量,3.c.字符型变量与数值型变量的转换:,例1:input的运用,3.c.字符型变量与数值型变量的转换:,例2:字符型变量自动转换为数值型,3.c.字符型变量与数值型变量的转换:,Put:数值型转为字符型。,3.c.字符型变量与数值型变量的转换:,3.c.字符型变量与数值型变量的转换:,3.d控制语句,循环条件,3.d.循环,循环:Do循环:,3.d.循环,Do循环的作用:进行重复的计算生成数据减少冗余的代码读取数据有条件的执行sas代码,3.d.循环,Do循环的语法:DOindex-variable=startTOstopBYincrease;END;注:by可省略,缺省为递进1。DOindex-variable=value1,value2,value3;END;注:value可以是字符或数值。,3.d.循环,DOWHILE(expression);END;,当expression正确时,进入循环语句。在每次循环开始之前进行判断。如果expression开始就是错误的,循环不会执行,3.d.循环,DOUNTIL(expression);END;,循环语句将被执行,直到expression正确。在每次循环之后再进行判断。循环语句至少会被执行一遍。,3.d.循环,多条件判断:DOindex-variable=startTOstopBYincreaseWHILE|UNTIL(expression);END;,3.d.循环,例:,结果:capital=157,086.05。,3.d.循环,循环嵌套:每个循环要有不同的循环变量。确保每个DO有一个END相对应。例:,3.d.循环,输出为:,3.d.循环,SAS的比较操作符:,3.d.循环,SAS的逻辑操作:,3.d.条件,条件语句IF:在SAS语言中,可以使用IF-THEN和ELSE语句有条件地执行SAS语句,一般格形式如下:IFexpressionTHENstatement;ELSEstatement;其中:expression:SAS条件表达式statement:任何可执行的语句注:ELSE语句不是必须的,3.d.条件,例:ifstatus=OKandtype=3thencount+1;ifageneagecheckthendelete;da
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医学影像技术师执业考试试卷及答案
- 2025年建筑师执业考试模拟试题及答案
- 2025年竞技体育教练员资格考试卷及答案
- 2025年化学基础知识及应用考试试卷及答案
- 2025年机械工程师职业资格考试试卷及答案
- 电力设备检修与供应链管理承包合同
- 医疗机构执业医师岗位全职聘用及医疗设备租赁合同
- 公众号付费阅读功能与社交媒体互动集成合同
- 个性化别墅庭院景观设计、施工与景观照明工程合同
- 海外留学考试自习室租赁及学习资料供应合同
- NB/T 11643-2024煤炭快速定量装车系统通用技术标准
- 2025年电子信息工程专业考试卷及答案
- 网络舆情的实时监测与分析-全面剖析
- 广东省珠海市2024-2025学年高二下学期期中教学质量检测英语试题(原卷版+解析版)
- 工伤康复培训课件
- 美国加征关税从多个角度全方位解读关税课件
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 《云南省建筑工程资料管理规程应用指南)(上下册)
- 上海建设工程通用硅酸盐水泥质量检验报告 - 上海水泥行业协会
- 餐饮服务六大技能培训.ppt
- 基于单片机的电话拨号系统的设计毕业论文
评论
0/150
提交评论