版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SASBASEBY : PAEAN.WON Page 2目录第一章:SAS系统初识第二章:SAS函数第三章:SAS访问外部数据文件第四章:SAS数据步第五章:SAS过程步第六章:SAS输入输出格式第七章:SAS宏技术第八章:SAS SQL查询第九章:SAS 数据统计分析第十章:SAS 综合运用举例第一章Page 3SAS 系统初识Page 4SAS系统诞生 全称为Statistics Analysis System,最早由北卡罗来纳大学的两位生物统计学研讨生编制 1972研制出第一版,1976年成立了SAS软件研讨所,正式推出了SAS软件,如今是9.2版 是用于数据分析与决策支持的大型集成信息
2、系统,统计分析功能是它的重要组成部分和中心功能 国际上的规范软件系统 Page 5 BASE SAS模块 SAS/STAT统计分析模块 SAS/ETS经济计量学和时间序列分析模块 SAS/OR运筹学模块 SAS/QC质量控制模块 SAS/IML交互式矩阵程序设计言语模块 SAS/GRAPH绘图模块 SAS/FSP快速数据交互式菜单系统模块 SAS/AF交互式运用开发模块 SAS/ASSIT菜单驱动界面模块 SAS/ACCESS访问外部数据模块 SAS/EIS企业信息系统模块 SAS/INSIGHT可视化探求工具模块 SAS/CALC电子表格模块 SAS/CONNECT分布式数据处置模块 SAS
3、/WA企业级数据仓库管理模块 SAS/EM企业级数据发掘模块SAS功能模块Page 6命令行菜单栏工具栏窗口条功能窗口SAS任务界面*重要功能键:F1,F5,F6,F7, F9,CTL+ESAS任务界面Page 7SAS两类菜单栏菜单栏的下拉菜单 操作:点菜单栏中的按钮弹出菜单操作:相应窗口点鼠标右键Page 8SAS工具栏 资源管理器窗口工具栏 编辑器窗口工具栏 Page 9SAS 命令 在命令行中输入SAS命令可以快速完成一些SAS义务 Page 10SAS主要功能窗口 以“只显示内容视图显示的“SAS 资源管理器窗口没有树视图 “结果窗口 程序编辑器、加强型编辑器 “日志窗口 “输出窗口
4、 “SAS 资源管理器窗口Page 11SAS资源管理器窗口SAS 资源管理器窗口下,可以执行根本的 SAS 义务:1、 创建新的逻辑库和文件快捷方式;2、创建新的逻辑库成员和目录条目;3、翻开和编辑 SAS 文件。根据操作环境,可以运用以下方法翻开“SAS 资源管理器窗口翻开树视图和列表视图:1、菜单: 查看= SAS 资源管理器 2、命令: EXPLORER3、工具栏: SAS 资源管理器 Page 12SAS结果窗口 可以经过结果窗口对程序的输出结果进展阅读和管理 1、SAS可以用一种或多种格式或类型产生输出。2、默许类型是“列表输出如右图的“查询结果。3、其他输出类型包括 HTML、“
5、输出数据集和 PostScript。 Page 13SAS 输出类型设置 要设置输出类型,可运用菜单栏=工具=选项=参数选择=“结果标签,进入参数选择窗口进展设置如以下图所示。 点选创建HTML时,输出结果同时展如今HTML文件中。Page 14SAS加强型编辑器窗口SAS9.1版本的默许编辑窗口为加强型。它比普通编辑窗口添加了如下功能: 运用特定颜色对SAS程序、SCL程序以及HTML和XML文件的元素进展显示,同时进展相关语法检查。 创建和格式化自定义的关键词。 每个过程步、数据步或者宏的程序段都可以实现展开和收缩的功能,以便对SAS程序的宏观构造有更好的了解。 经过定义缩写来快速输入一段
6、文字。 经过显示行号使得程序代码更具可读性。 设定加强型编辑器的快捷功能键。 同时翻开一个文件的多个视图。 将光标停留在言语元素上,按F1就可以直接进入到SAS协助文档中该言语元素的阐明部分,当然有时候该言语元素有多个主题,可以根据需求进展选择。Page 15SAS日志窗口“日志窗口用来查看程序运转信息: 提交的程序语句; 系统音讯和错误; 程序运转速度和时间。 “日志窗口中的元素根据以下类型呈现不同的颜色: 程序行黑色:以语句标号开场; 提示蓝色:以NOTE开场; 警告绿色:以WARNING开场; 错误红色:以ERROR开场。Page 16SAS 输出窗口 proc print data=s
7、ashelp.class;quit;按F8提交程序,SAS界面如下所示: 输出窗口用来查看SAS程序的输出结果 Page 17SAS新建逻辑库 1、在逻辑库级别,在空白处按右键,选择新建,出现如下界面。2、在称号中输入新的逻辑库称号。3、在引擎中根据数据来源选择不同的引擎,假设只是想建立本机地址上的一个普通的SAS数据集数据库,可以选择默许。4、然后点选启动时启用,在逻辑库信息中,点选途径后面的阅读按钮,选择与这个逻辑库相对应的物理地址。选项窗口可以不填,点击确定产生一个新的逻辑库。Page 18SAS程序编辑窗口操作提交程序可以用加强型编辑器编写程序,也可以将用其它文本编写的程序拷贝到编辑器
8、。程序完成后,直接按F3或者F8提交程序,或点选工具条中的提交按钮,或者在命令框中输入Submit命令。储存程序程序可以保管为其它格式的文本,也可以直接以编辑器的方式来储存,直接点选文件=保管,选择途径就可以保管这些程序。Page 19SAS数据集导入和导出第一步:点选文件=导出数据,出现如下界面,要求输入要导出文件的逻辑库称号和数据文件称号,比如要导出sashelp逻辑库的class数据文件,经过下拉菜单项选择择逻辑库和数据文件。 Page 20SAS数据集导入和导出 第二步:点选next,进入到选择输出格式界面。经过下拉菜单项选择择给定的格式:Microsoft Excel 97,2000
9、 or 2002 workbook,然后点选next.Page 21SAS数据集导入和导出 第三步:进入到设定输出文件位置和称号界面,经过阅读按钮选择输出位置,并键入输出文件的称号,如E:test.xls .Page 22SAS数据集导入和导出 第四步:点选ok,进入到SAS Export Wizard画面,SAS Export Wizard和后面要引见的Import Wizard是SAS转换数据文件的工具。在这个画面中,Export Wizard要求对这个输出过程的table命名,这时可以直接选finish完成输出,或者命名为1。Page 23SAS数据集导入和导出 第五步:假设上一步选择命
10、名,SAS会建立一段与上述窗口操作一样的程序,并提示能否要保管这段程序。SAS对数据的管理 1:SAS对数据的分析与呈现都是面对SAS数据集进展2:SAS数据集是一种SAS文件3:SAS文件是由SAS系统创建和管理的有特殊构造的文件。Page 25SAS对外部数据的管理 数据直接输入流行的数据库其它文件格式SAS数据集SAS运用程序数据分析过程中用得较少数据发掘过程中用得较多常用的数据分析获取外部数据TXTEXCELCSVSPSSACCESS ; DB2 ; ORACLE Page 26SAS 逻辑库 26SAS逻辑库由一组SAS文件组成。SAS软件系统的信息组织有两层,第一层是SAS逻辑库,
11、第二层是SAS文件。SAS逻辑库是一个逻辑概念,本身不是物理实体,它对应的实体是操作系统下一个文件夹或几个文件夹中的一组SAS文件。 SAS逻辑库文件用两级命名方式定名: libname.SAS-filename (库标志.文件名)SAS数据集SAS数据库SAS逻辑库有永久库和暂时库两种暂时库:名为WORK,系统自动指定永久库:系统自动指定名为SASUSER,(SASHELP等). 其它可由用户指定Page 27SAS 创建逻辑库 逻辑库名是SAS名,长度不能超越8个字节。如SAS逻辑库:ResDat, SASHELP等。建立SAS逻辑库的方法: 用菜单操作; 用LIBNAME语句。语句格式:
12、LIBNAME libref SAS-data-library 语法阐明:Libref 逻辑库名 SAS-data-library 逻辑库对应的物理地址Engine 引擎称号缺失时为默许引擎例1 用LIBNAME语句创建SAS逻辑库。libname zkxr C:Documents and Settingsuser桌面中科信软SAS培训逻辑库a;例2 援用非暂时库的SAS文件时必需运用两级命名方式,而援用暂时库的SAS文件时,可以直接运用文件名,效果等同于work.文件名。data zkxr.a;set d.v;run;Page 28SAS 语句SAS语句就是一系列关键词、SAS称号、算符以及
13、特殊字符的组合。一切的SAS语句以分号结尾。SAS语句普通分为数据步语句与过程步语句,以及可以用在SAS程序任何地方的全局通用语句。KEYWORD parameteroptions;关键词 参数 选项;其中:粗体必需按显示方式书写的关键词;白正体用户提供的信息;括号内的信息可选;|任选。参数PARAMETER不是任选项,不用括号,OPTIONS是选项关键词。Page 29SAS语名举例 例2.5 有效的SAS语句。data data1; /* data为关键词,data1为SAS名 */data _null_; /* _null_为SAS名 */put name $ 8.; /* put为关键
14、词,name为SAS名,$8.为输出格式*/format date yymmdd10.;proc means data=ResDat.class; /* proc为关键词,means为过程名 */infile “d:ResDatclass.txt;do I=1 to 100;x=y+1; sumx+x;run;Page 30SAS options选项 系统选项用来控制SAS的运转方式,如SAS系统启动,硬件软件的衔接,SAS程序的运转等。 语句格式:OPTIONS option(s); option 设定一个或多个系统选项,任何系统选项都有一个默许设置。例: 设定选项OPTIONS obs=5
15、;/*取数据集前五个观测*/Data one;Set ResDat.class;Run;Page 31SAS 表达式 表达式由一系列操作符和操作对象构成,产生一个目的值。运用表达式可以对变量作变换和赋值,创建新变量,计算新数值以及控制条件语句的运转等。操作对象有: 变量; 常数。操作符包括: 算术算符; 比较算符; 逻辑算符; SAS函数; 括号。Page 32SAS 常数 SAS常数是SAS系统可以识别的一些固定值。1.数值常数。1, 5, 1.23, 1.2E23, 2E4 , 20000数值常数可以有多种格式展现。规范格式:1,01,+1,-1,1.1;科学计数法:1.1e11, 1.2
16、e-12;十六进制格式:1cx,12x,9x2.援用带引号的字符常数。name=TOMS;name=TOMS; /*例中,两语句等价。*/要留意的是,字符常数是由引号括起来的,但是字符变量的称号那么没有引号,也就是说字符常数不能作为字符变量的称号。3.援用日期时间常数。1jan2000d; 01jan00d;9:25t; 18jan00:9:27:25dtif begin=01JAN2000d then end=31DEC2000d; Page 33SAS 算符 SAS算符是一些符号,其作用是进展计算、比较等。算术算符运用。data;X=3.5*2.5; put X=;Y=9+1/3;put
17、Y=;X=.;Y=1+X;put Y=; /*Y也是缺失值*/run;X=22.917651494Y=9.3333333333Y=.比较算符运用。if xy then c5;else c12;比较算符经常出如今IF语句里。比较准那么: 数值和字符都可以比; 结果为真赋值1,假赋值0; 字符值从左到右逐个按ASCII码陈列序列进展比较; 缺失值参与比较时,它比任何有效值都小。Page 34SAS 算符 逻辑算符 算符等价形式含义AND与| OR或 NOT非字符串衔接符:包括| !等data _null_;a= 中 华;b=人 民 ;c= 共和 国;x1=a|b|c;x2=abc;x3=a!b!c
18、;put x1;put x2;put x3;run;输出结果:中 华人 民 共和 国中 华人 民 共和 国中 华人 民 共和 国可以看到这些衔接符输出结果完全一致,只是单纯的衔接,不会对空格进展特殊处置。但有时需求对空格进展处置。常用的字符衔接函数包括以下几个:trim() :去掉字符串尾部空格,假设字符串为空,那么前往一个空格left():把字符串开头的空格移到尾部strip():去掉字符串开头和结尾的一切空格cat() :与|作用类似,保管首尾全部空格catt() :但是衔接之前会去掉各字符串尾部空格,相当于衔接符结合trim()运用cats() :但是衔接之前会去掉首尾全部空格,相当于衔
19、接符结合strip()运用catx() :但是衔接之前会去掉首尾全部空格,并且在字符串之间加上一个指定的字符串Page 35SAS 算符衔接函数 data _null_;a= 中 华;b=人 民 ;c= 共和 国;x1=trim(a)|trim(b)|trim(c);x2=left(a)left(b)left(c);x3=strip(a)!strip(b)!strip(c);x4=cat(a,b,c);x5=catt(a,b,c);x6=cats(a,b,c);x7=catx(我爱,a,b,c);put x1=/x2=/x3=/x4=/x5=/x6=/x7=;run;Page 36SAS 算符
20、衔接函数 x1=中 华人 民 共和 国x2=中 华 人 民 共和 国x3=中 华人 民共和 国x4=中 华人 民 共和 国x5=中 华人 民 共和 国x6=中 华人 民共和 国x7=中 华我爱人 民我爱共和 国Page 37SAS 变量 SAS变量分为数值变量和字符变量。数值变量数值变量是SAS系统以浮点floating-point方式存储的数据变量,数值变量包括日期和时间。数值变量的值只能是数值。 字符变量字符变量可以由阿拉伯字母、数字0-9以及其它一些特殊字符组成。字符变量的值可以是字符、字母、特殊字符和数值。字符变量名后跟一个美圆号$表示该变量是字符型而不是数值型。Page 38SAS
21、创建变量的方式 运用赋值语句 Data a; x=1; run;/*数据集a中有个变量x,值为1*/运用INPUT语句 Data b; Input x $; Datalines; Aaa Bbb ; Run; 运用FORMAT 或 INFORMAT语句 Data b; Set b; Informat y $9.; Run;以类似的方式创建变量的还有LENGTH语句,ATTIRB语句。Page 39SAS 输出格式format是SAS用来确定如何输出或写出数据值的指令,用FORMAT控制数据值在输出时所运用的格式。输入格式informat是SAS用来确定如何将数据读入变量的指令。假设在输入或输出
22、数据集的过程中没有设定变量的输入和输出格式,系统会自动运用原数据集中的这个变量原有的输入输出格式。语句格式:format. informat. 格式阐明:$指定为字符格式,如果该项空缺,则默认是数值格式format规定有效SAS输出格式Informat规定有效SAS输入格式w设定输入输出的长度,一般来说是数据所占的列的数目d设定数值数据中小数点的位数Page 40SAS 变量类型转换A.字符型变量转换为数值型变量1. 将字符型变量进展算术运算;2. INPUT(数据源, 输入格式);B.数值型变量转换为字符型变量1.将数值型和字符型变量衔接;2.运用函数如SUBSTR,left,right等;
23、3. PUT(数据源, 输出格式);data a;input x 6. y $8.;cards;12345 456442322 121133311 1345.3;run;/*A.字符型变量转为数值型变量*/data a;set a;z1=y+0;z2=input(y,8.);run;/*B.数值型变量转为字符型变量*/data a;set a;m1=a|x;m2=left(x);m3=put(x,$8.);run;变量列表缩写备注X1 X2 XnX1-XnX1Xn的所有变量,中间是一横XA XB XYX: 取所有以X为开头的变量假设数据集中有六个变量:X Y Z A B C被先后输入,分析过程
24、中,只分析前四个变量.X-A XA的所有变量,中间是两横X_numeric_A XA的所有数值型变量X_character_A XA的所有字符型变量_numeric_ SAS数据集内所有的数值型变量_character_ SAS数据集中所有的字符型变量_ALL_ SAS数据集中的所有变量_N_ 预测序号Page 41SAS 自动变量data b;set a;keep _numeric_;run;data c;set a;keep _character_;run;/* 只保管数据集中的数值变量*/* 只保管数据集中的字符变量*/Page 42SAS 程序书写规那么 SAS语句的书写规那么灵敏自在
25、:语句可在行的任一列开场;一个语句可以分写为多行;多个语句可以写在同一行;语句中各项之间至少用一个空格或特殊字符隔开;应遵守的书写规那么:不同程序步间留空行;每条语句都要另起行。比较规范的书写有助于阅读和检查,还可以减少书写错误。注释语句的两种格式:/* 注释内容 */ * 注释内容;Page 43第二章 SAS函数Page 44SAS 函数定义 SAS函数是一个子程序,对自变量前往一个结果值。SAS函数的方式:函数名(X1, X2, )函数用于组合表达式可以简化编程和统计计算例:表达式中用函数。data a(keep=date y d min); /*保管date, y, d, min四个变
26、量*/set ResDat.idx000001;y=year(date); /*函数year给出变量date年份*/d=weekday(date); /*函数weekday给出变量date在一周内的哪一天*/min=min(sum(oppr, hipr, lopr,clpr),1000); run;Page 45SAS 例 用与不用SAS函数时的程序。在不用SAS函数的情况下:totx=xl+x2+x3+x4+x5+x6+x7+x8+x9+x10; if totx1996; /* Where语句中运用Year函数 *run;Page 46SAS 函数自变量 自变量类型: 变量名; 常数; 函数
27、; 表达式。例 函数及其自变量类型举例。 Page 47SAS 函数自变量 自变量个数: 有些函数不需求自变量,有些只需求一个自变量,有些函数有多个自变量。SAS9.1中,自变量个数不能超越32767。 假设函数的自变量是表达式,在函数被调用之前,一切表达式自变量首先计算。自变量表示法:当函数有多个自变量时,必需用逗号分隔开。自变量名缩写方法: 函数名(OF变量名1变量名n ) Page 48SAS 函数自变量 例 正确与错误的表示方法。例 数组元素自变量的缩写方法。array y10 y1-y10; /*定义数组y10 */x=sum (of y*);z=sum (of y1-y10);例中
28、,两个SUM函数的表示法是等价的。 Page 49SAS 函数结果 通常函数的结果由其自变量的属性决议: 自变量是字符时结果变量为字符; 自变量是数值时结果变量为数值。PUT函数是一个例外,它不论自变量是什么类型,其结果总是字符值。Page 50SAS用PUT语句在LOG窗口显示函数值例 显示概率值和分位数。data;Y=probnorm(1.96); /* 规范正态分布小于1.96的概率 */put Y;q1=tinv(.95, 2); /*自在度为2的t分布的0.95分位数*/q2=tinv(.95, 2, 3); /*自在为2,非中心参数为3的t分布的0.95分位数*/put q1= q
29、2=;run;结果:0.9750021049q1=2.9199855804 q2=13.894376071Page 51SAS 日期函数 SAS日期和时间存贮规范是以1960年1月1日0时0分0秒为起点,然后以相应的间隔记时。如1960年1月1日9时0分,按日记的数值就是0,按小时记的数值就是9。1960年1月2日0时0分,按日记的数值就是1,按小时记就是24等。 由于日期函数是一类非常重要的函数,特别是对金融数据处置和金融计算,借助日期函数可以极大提高效率。Page 52SAS日期函数 例 计算两个日期之间的天数。data _null_;sdate=01jan2002d;edate=01ja
30、n2003d;actual=datdif(sdate, edate, act/act); /*按每个月的实践天数算 */days360=datdif(sdate, edate, 30/360); /*按每个月30天计算 */put actual= days360=;run;data _null_;actual=datdif(01jan2002d, 01jan2003d, act/act);days360=datdif(01jan2002d, 01jan2003d, 30/360);put actual= days360=;run;例中,两段程序的结果一样。actual=365, days360
31、=360.Page 53SAS 日期函数 例 以日为单位计算当前日期的天数。data;x=date (); y=today();put x= y=;run;例中,DATE()和TODAY()结果一样,都是前往当天的天数。当然,也可以用一定的日期格式表示它们。data;x=date (); y=today();format x y yymmdd10.;put x= y=;run;例 计算日期值所在的年季月以及处于某月的第几天。data _null_;sdate=01jan2002d;year=year(sdate);qtr=qtr(sdate);month=month(sdate);day=da
32、y(sdate);put year= qtr= month= day=;run;结果显示:x=17232 y=17232结果显示:x=2007-03-07 y=2007-03-07结果显示:Year=2002 qtr=1 month=1 day=1PROC FREQ options; 选项阐明: ORDER=选项及阐明Page 54SAS 频数分析过程Page 55SAS频数分析FORMCHAR(1,2,7)= 符号串: 1规定垂直线字符; 2规定程度线字符; 7规定程度与垂直交叉线字符。通常情况下的FORMCHAR=选项:FORMCHAR(1,2,7)= | - +;表格没有轮廓线和分隔线的
33、FORMCHAR=选项:FORMCHAR(1,2,7)= ; /* 三个空格 */ Page 56SAS频数分析过程 proc format ;value $weekb 周一=monday 周二=tuesday 周三=wednesday 周四=thursday 周五=Friday;/*按数据输出值的格式排序*/proc freq data=s.reg order=formatted /*formatted,freq,data,internal */;table week;format week $weekb.;run;/*按频数的降序排序*/proc freq data=s.reg order
34、=freq /*formatted,freq,data,internal */;table week;format week $weekb.;run;/*按数据集中数据出现的次序排序*/proc freq data=s.reg order=data /*formatted,freq,data,internal */;table week;format week $weekb.;run;WEIGHT variable;该语句规定一个WEIGHT变量,它的值表示相应观测的权数。该变量的值应大于零。假设这个值0或缺失,假定该值为0。BY variable-list;对BY变量定义的观测组分别计算其相
35、应的简单统计量。当运用BY语句时,要求输入数据集已按BY变量排序的次序陈列,除非指定NOTSORTED。 OUTPUT语句 :OUTPUT ; 该语句创建一个由PROC FREQ过程输出统计量的SAS数据集。OUTPUT创建的数集可以包括由TABLES语句规定的恣意统计量。 PROC FREQ过程每一次只允许运用一个OUTPUT语句。当规定多个TABLES语句时,OUTPUT语句创建的数据集内容对应于最后那个TABLES语句,当一个TABLES语句中规定多个表时,OUTPUT创建的数据集内容对应于最后那个表。 选项阐明: OUT=规定输出数据集; output-statistic-list规定
36、输出数据集中所包含的统计量。 Page 57SAS 频数分析过程Page 58SAS 频数分析过程举例 data a;do I=1 to 1000;X=int(ranuni(8888)*3)+1;Y=int(ranuni(8888)*4)+1;output;end;run;proc freq data=a(drop=i);*table x y; /*对一切变量进展频数分析时,不要该句和要该句效果一样*/title 没有TABLES语句;run;proc freq;tables x x*y/chisq;run;proc freq;tables x*y/list;run;产生区间0, 1上均匀分布
37、的随机数1000个,分别将区间0, 1均分成3和4个小区间,并把产生的随机数按所属区间转换为整数。然后对这些整数作频数分析。 均值过程MEANS用于计算变量的根本描画统计量。 Page 59SAS均值过程 PROC MEANS ; BY variable-1 . variable-n ; CLASS variable(s) ; FREQ variable; ID variable(s); OUTPUT ; TYPES request(s); VAR variable(s) ; WAYS list; WEIGHT variable; Page 60SAS 均值过程PROC MEANS ; opt
38、ion-list选项阐明: Page 61SAS 均值过程ALPHA=规定置信区间的显著水平DATA=规定输入数据集NOPRINT不输出任何描述统计量MISSING规定把CLASS变量的缺失值作为有效分组值处理DESCENDING规定输出数据集是按_TYPE_值降序(缺省是上升)排列,选择NWAY时该选项无效ORDER=选项及阐明:VARDEF=选项及阐明: Page 62SAS 均值过程statistic-keyword-list选项就是均值过程可以计算的描画统计量。规定的关键词可以分为三类: 描画统计量关键词; 分位数关键词; 假设检验关键词。Page 63SAS 均值过程proc mea
39、ns data=s.reg maxdec=2 mean n max min range std alpha=.05 clm fw=8;var wait quit;class week;output out=a mean=mean_w mean_q n=n_w n_q max=max_w max_q min=min_w min_q range=range_w range_q std=std_w std_q;run;Page 64SAS单变量过程 单变量过程UNIVARIATE除了能计算均值过程的根本统计量外,还可以实现的计算和功能有: 稳健性估计量; 描画变量的分布图; 频数表; 多项检验。 P
40、ROC UNIVARIATE ; BY variable-1 . variable-n ; CLASS variable-1 variable-2 ; FREQ variable; HISTOGRAM ; ID variable(s); INSET ; OUTPUT statistic-keyword-1=name(s) ; PROBPLOT ; QQPLOT ; VAR variable(s); WEIGHT variable; Page 65SAS PROC UNIVARIATE DATA= SAS-datas-et ;选项阐明: VARDEF=选项及阐明:Page 66SAS运用单变量过
41、程进展多变量分析proc univariate data=s.reg freq normal plot;var wait quit;class week;output out=test mean=mean_w mean_q std=std_w std_q pctlpts=25 50 75 pctlpre=a b ;run;Page 67SAS 拟合密度曲线 第一步:创建一个数据集,随机生成一列正态分布和指数分布数据.data distrdata;drop n;labelnormal_x=Normal Random Variableexponential_x=Exponential Random
42、 Variable;do n=1 to 100;normal_x=10*rannor(53124)+50;exponential_x=ranexp(18746363);output;end;run; Page 68SAS proc univariate data=distrdata noprint;var Normal_x;histogram Normal_x /normal(color=yellow w=3 midpercents noprint) cbarline=red cfill=green ;inset n max min mean std normal(ksdpval)/pos=n
43、e format=6.3;title 100 Obs Sampled from a Normal Distribution;run;Page 69SAS proc univariate data=distrdata noprint;var Exponential_x;histogram /exp(fill l=3) cfill=yellow midpoints=.05 to 5.55 by .25;title 100 Obs Sampled from an Exponential Distribution;run;SAS综合运用举例Page 70第十章目的:从同一个文件夹中批量导入构造一样的T
44、XT文档到逻辑库,并合并为一个数据集。Page 71SAS /*第一步:用批量上传的过程*/%macro directory(dir=); /*批量导入TXT文件数据暂时数据集, */%let rs=%sysfunc(filename(filref,&dir);%let did=%sysfunc(dopen(&filref);%let nobs=%sysfunc(dnum(&did);%do i=1 %to &nobs.; %let name=%qscan(%qsysfunc(dread(&did,&i),1,.); %let ext=%qscan(%qsysfunc(dread(&did,&
45、i),-1,.); proc import out=&name. datafile=&dir.&name.&ext dbms=tab replace; getnames=yes; datarow=2; delimiter=|*|; run;%end;%let rc=%sysfunc(dclose(&did);%mend;%directory(dir= txt所在文件夹的物理途径 );Page 72SAS %macro append(out=);proc contents data=_all_ out=m.a;run;proc sql;select distinct MEMNAME into:
46、ndatasetname separated by from m.a;quit;%put &ndatasetname.;%let i=1;%do %until (%scan(&ndatasetname., &i., )=);%let dataset=%scan(&ndatasetname., &i., );%put &dataset.;%let dsid=%sysfunc(open(&dataset.,i);%let phone=%sysfunc(varname(&dsid.,1);*%let msm=%sysfunc(varname(&dsid.,7);%let name=%sysfunc(
47、varname(&dsid.,7);%let gender=%sysfunc(varname(&dsid.,10);%let cardname=%sysfunc(varname(&dsid.,13);%let callin=%sysfunc(varname(&dsid.,16);%let date=%sysfunc(substr(&dataset.,19,8);%put &phone.;*%put &msm;%put &name.;%put &gender.;%put &cardname.;%put &callin.;Page 73SAS 1、批量导入并合并%let rc=%sysfunc(close(&dsid.);data t.&dataset.;set &dataset.(keep= &phone. /*&msm.*/ &name. &gender. &cardname. &callin. );length
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动仲裁调解协议书7篇
- 商业合伙人的协议书
- 传统民间工艺品-捏面人简介
- (参考模板)三通项目立项报告
- 第三次月考试卷-A4
- 重庆2020-2024年中考英语5年真题回-教师版-专题08 阅读理解之记叙文
- 电能表安06课件讲解
- 2023年抗甲状腺药项目融资计划书
- 国华电力危险化学品安全管理培训课件
- PLC控制技术试题库(附参考答案)
- 李商隐诗歌《锦瑟》课件
- 世界文化遗产-乐山大佛课件
- 2022小学一年级数学活用从不同角度解决问题测试卷(一)含答案
- 博尔赫斯简介课件
- 2021年山东交投矿业有限公司招聘笔试试题及答案解析
- 施工单位资料检查内容
- 大气课设-酸洗废气净化系统
- 学校校庆等大型活动安全应急预案
- 检测公司检验检测工作控制程序
- 高血压病例优秀PPT课件
- 精密电主轴PPT课件
评论
0/150
提交评论