您好,欢迎访问三七文档
SWUFE12020年5月27日星期三SAS(StatisticalAnalysisSystem)基础与数据预处理vickySWUFE22020年5月27日星期三SAS数据处理与分析•SAS系统概述•SAS中进行数据探查和预处理•SASEM操作流程、节点SWUFE32020年5月27日星期三一、SAS系统概述•SAS软件及其模块•SAS启动与界面•SAS文件类型•SAS基本概念SWUFE42020年5月27日星期三SAS软件SAS是用于数据分析和决策支持的大型集成式模块化软件系统。在数据处理与统计分析领域,SAS已成为国际上流行的标准企业管理软件。–《财富》500强企业,约90%在使用–《财富》100强企业,约98%在使用IfyouhaveaSAScertification,youwillneverloseyourjobSWUFE52020年5月27日星期三SAS应用领域•SAS广泛地被用于金融、医药卫生、电信通讯、政府及教育科研等领域。•在商务智能领域,SAS可以帮助用户:–CustomerSegmentation-识别最有利润的客户群,并揭示其中的特征–CreditRiskManagement-通过准确的信用评分提高客户的利润率–BalancedScorecard-企业均衡计分管理–FraudDetection-欺诈检测–CustomerRetention-客户流失管理–CrossSelling-交叉销售–以及其他需要预测和规则发现的应用等等SWUFE62020年5月27日星期三版本•最早由北卡罗来纳大学的两位生物统计学研究生编制,1976年成立SAS软件研究所正式推出。•版本:6.04、6.12、8.2、9.13、9.2、9.3、9.4SWUFE72020年5月27日星期三SAS软件模块SAS是一个组合软件系统,由几个到五十多个工具模块以及面向行业的子系统组成一个可伸缩的系统。主要模块:Base:基本数据处理Graph:绘图Stat:数理统计分析Em:数据挖掘Ets:经济计量学和时间序列分析IML:交互式矩阵程序设计语言OR:运筹学QC:质量控制ACCESS:外部数据库接口Insight,Analyst,Assist:通过图形用户界面使用SAS…SWUFE82020年5月27日星期三SAS操作方式•编写程序需要熟悉SAS语言,但使用灵活高效;•图形用户界面例如:Insight:交互式数据探索EM:数据挖掘机SWUFE92020年5月27日星期三SAS启动与界面输出窗口,F7日志窗口,F6程序编辑窗口,F5资源管理器SWUFE102020年5月27日星期三SAS常用文件类型•SAS数据文件:*.sas7bdat•SAS程序文件:*.sas•SAS记录文件:*.logSWUFE112020年5月27日星期三SAS基本概念•逻辑库•数据集•变量•表达式•程序•数据步和过程步SWUFE122020年5月27日星期三SAS逻辑库1.SAS逻辑库是指向存储SAS文件的文件夹的SAS快捷方式名称;2.分类:临时库和永久库临时库:WorK,默认的,存在于内存中永久库:指向外存中的文件夹3.系统默认有3个库:work(临时库)、sashelp(永久库)、sasuser(永久库)4.用户可以定义自己的逻辑库SWUFE132020年5月27日星期三逻辑库定义与删除•命令定义:Libname库名‘路径’;例如:libnamedata‘d:\data\’;逻辑库名称一般不超过8个字符删除:libnamedataclear;•SAS资源管理器SWUFE142020年5月27日星期三数据集•数据集(dataset)SAS中保存数据的文件称为数据集,数据集通过逻辑库进行组织。数据集文件类型为.sas7bdat。数据集名称一般不超过32个字符。根据数据集可以建立索引和视图。•数据集的引用:[逻辑库].数据集名如果不指定逻辑库,则表示系统默认逻辑库,初始状态下为临时库WORK。•指定当前默认逻辑库Optionsuser=逻辑库名;SWUFE152020年5月27日星期三变量•变量的类型与测量水平::数值型:INTERVAL,RATIO字符型:unary,binary,nominal,ordinal•变量的缺失值:字符型:用空格表示数值型:用.表示•变量的其它属性:名称、长度、输入输出格式、标签SWUFE162020年5月27日星期三变量的命名•最多32个字符长,第一个字符必须是字母或者下划线,不能有空格。•特殊字符(如$,@,#)也不允许在SAS名中使用。•SAS系统保留的特殊变量名,以下划线开始和结尾。如:_N_和_ERROR_等。SWUFE17Sas自动变量举例•_n_观测序号;•_error_错误信息变量;•_iorc_错误信息变量;•_numeric_所有数值变量;•_character_所有字符变量;•_all_所有变量;•fisrt.variable同一by组第一个观测;•last.variable同一by组最后一个观测;2020年5月27日星期三SWUFE18练习•下载数据文件“salestest.sas7bdat”到自己的磁盘目录;建立逻辑库test指向该目录;•将逻辑库test设为缺省逻辑库;•打开salestest数据集,查看各变量信息,注意更改标签后的显示改变;•关闭数据集2020年5月27日星期三SWUFE192020年5月27日星期三表达式•常量、变量、函数、操作运算符组成的有意义的式子•运算符:~=或(ne)、=(eq)=(ge)、=(le)、(gt)、(lt)逻辑运算符:&|~连接符:||•函数举例:–Lag(变量名):返回上一个观测值的该变量的值;–Dif(变量名):返回当前观测值该变量的值减去上一个观测值中该变量的值。–SUBSTR(字符型变量,初始位置,长度):取子串。–Year(变量):取日期的年份;–date():当前日期;–Trim():取消字符串末尾空格–Strip():数值转换为字符,……SWUFE202020年5月27日星期三SAS程序SAS程序包括多个步骤和一些控制语句,一般情况下均包括数据步和过程步,通常情况下SAS程序还包括一些全程语句,用以控制贯穿整个SAS程序的某些选项、变量或程序运行的环境。SWUFE212020年5月27日星期三SAS程序规则SAS语句对字母的大小写不敏感,SAS语句中的词(words)之间用空格或特殊符号分隔,一个语句可以由几行组成,几个语句可以在同一行内。一个SAS语句有两个重要特征:1.它通常由SAS关键词(keyword)开始;2.它总是以分号“;”结束;SWUFE222020年5月27日星期三全程语句•Title‘….’;•Libnamename‘路径’;•footnote‘….’;•optionsnonumbernodatelinesize=78pagesize=60;•Optionsuser=逻辑库名;设置当前逻辑库SWUFE232020年5月27日星期三注释•注释–行注释*……;–块注释/*….*/SWUFE242020年5月27日星期三数据步•data语句有两个重要的功能:–标志数据步的开始–命名将要创建的SAS数据集。SAS数据步的一般形式为:DATA数据集;语句;……RUN;datat;lengthZ$25;INFORMATX$8.;INFORMATY8.2;x='WANG';y=333.3;Z=trim(x)||'-'||Y;run;SWUFE25利用数据步输入数据Optionsuser=data;datastudent(label='学生数据集');inputsnoname$sex$mathchinese;avgs=(math+chinese)/2;labelsex=‘性别’avgs='平均成绩';datalines;1李明男92982王思明男86903张聪男981094刘颍女801105张红艺女89106;Run;2020年5月27日星期三SWUFE262020年5月27日星期三过程步SAS系统用数据步生成和管理数据,用过程步进行分析、报表、绘图。SAS过程步的一般形式为:PROC过程名DATA=分析数据集[选项];过程语句/[选项];过程语句/[选项];……RUN;SWUFE272020年5月27日星期三控制语句•If条件then语句;else语句;•DO变量=初值to终值by步长;语句;End;•DOwhile(条件);或者DOuntil(条件);语句;End;SWUFE28宏功能•宏变量–自动宏变量–用户自定义宏变量定义:%LET宏变量名=值;使用:&宏变量名注意:如果字符串中有宏变量引用,则字符串必须用双引号;2020年5月27日星期三自动宏变量作用值SYSDATE本次SAS启动的日期如04AUG97SYSDAY本次SAS启动的星期如MondaySYSTIME本次SAS启动的时间如11:18SYSLAST最新创建的数据集名字如STUDY.SURVEYSYSDSN最新创建的数据集两部分名字如STUDYSURVEYSYSVER使用SAS软件的版本如6.12SYSSCP返回用户主机系统的缩写如WINSWUFE29宏功能•宏–定义:%MACRO宏名字(参数宏变量);宏实体;%MEND宏名字;–调用:%宏名字(参数值);2020年5月27日星期三•SAS语句•宏变量•控制语句:%IF%THEN%ELSE%DO%END%DO%UNTIL%END%DO%WHILE%END•宏函数SWUFE302020年5月27日星期三二、数据探查与处理•数据集的建立与导出•数据探查•数据预处理–数据合并–数据清洗–数据变换与缺失值处理–数据增加与删除、更新SWUFE312020年5月27日星期三SAS数据集的建立(1)直接输入方式datatestinput…;datalines;/*在以前的版本下为cards*/…………(数据行);run;(2)外部文件导入方式文本文件与EXCELL文件(3)连接到关系数据库或excelllibnameoraliboracleuser=teacherpassword=teacherpath=orcl;Libnameeexcel'e:\temp\student.xls';SWUFE322020年5月27日星期三数据导入•File菜单•程序–data-infile语句从文本文件中读入数据:Datatest;infile'd:\reg_case.txt‘firstobs=1delimiter='';inputnoYX1X2X3X4X5X6;缩写形式x1-x6Run;练习:改变reg_case.txt中数据的分隔符为“,”、tab键,进行导入练习SWUFE33数据导入•将其他格式(EXCEL,ACCESS,sqlserver)的数据导入到SAS系统PROCIMPORTOUT=WORK.consumeDATAFILE=‘d:\data\consume.xls’DBMS=EXCELREPLACE;SHEET=‘sheet1$’;GETNAMES=YES;RUN;2020年5月27日星期三DBMS=EXCELTABCSVACCESSDBFSWUFE34数据导入练习libnamedexcel'd:\datamining\data\customer.xls';导入data目录下的customer.xls:包括三个电子表:•Customer1•Customer2•Customeradd2020年5月27日星期三SWUFE352020年5月27日星期三数据集的导出将SAS系统的数据集转换成将其他格式(EXCEL,ACCESS,sqlserver)的数据•菜单方式:文件的导出数据•程序:PROCEXPORTDATA=consumeOUTFILE=‘D:\DATA\consume1.XLS’DBMS=EXCELREPLACE;SHEET=‘consume’;RUN;SWUFE362020年5月27日星期三数据导出(cont.)PROCE
本文标题:SAS使用精讲
链接地址:https://www.777doc.com/doc-5581273 .html