版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SAS BASE 入门 快速的哦_ 本篇概要 SAS系统简介 用SAS读取外部数据(raw file) 用SAS读取和处理SAS数据集 SAS数据集的连接 1. SAS系统简介 系统介绍 功能模块 界面分布 逻辑库介绍 建立一个新的逻辑库 SAS数据集 SAS语句简介 功能键 SAS语句执行过程及PDV概述 1.a 系统介绍 全称为Statistics Analysis System,最早由北卡 罗来纳大学的两位生物统计学研究生编制 1972研制出第一版,1976年成立了SAS软件研究 所,正式推出了SAS软件,现在是8.2版 是用于数据分析与决策支持的大型集成信息系统, 统计分析功能是它的重
2、要组成部分和核心功能 国际上的标准软件系统 1.b 功能模块 SAS功能模块功能模块 BASE SAS模块模块 SAS/STAT-统计分析模块统计分析模块 SAS/GRAPH-绘图模块绘图模块 SAS/AF-交互式应用开发模块交互式应用开发模块 SAS/ACCESS-访问外部数据模块访问外部数据模块 SAS/CONNECT-分布式数据处理模块分布式数据处理模块 1.b 功能模块 SAS/ASSIT-菜单驱动界面模块菜单驱动界面模块 SAS/INSIGHT-可视化探索工具模块可视化探索工具模块 SAS/ETS-经济计量学和时间序列分析模块经济计量学和时间序列分析模块 SAS/OR-运筹学模块运筹
3、学模块 SAS/QC-质量控制模块质量控制模块 SAS/IML-交互式矩阵程序设计语言模块交互式矩阵程序设计语言模块 SAS/FSP-快速数据交互式菜单系统模块快速数据交互式菜单系统模块 SAS/EIS-企业信息系统模块企业信息系统模块 SAS/CALC-电子表格模块电子表格模块 SAS/WA-企业级数据仓库管理模块企业级数据仓库管理模块 SAS/EM-企业级数据挖掘模块企业级数据挖掘模块 1.c 界面分布 菜单栏 工具栏 功能窗口 SAS窗口条 命令行 1.c 界面分布 缺省情况下的活动窗口 SAS资源管理器窗口 结果窗口 编辑器窗口(F5) 日志窗口(F6) 输出窗口(F7) 1.c 界面
4、分布 资源管理器窗口 管理SAS逻辑库和文件快捷方式 v 逻辑库存贮SAS文件 v 文件快捷方式标识外部文件 v 四个系统逻辑库: n Maps n Sashelp n Sasuser n Work 1.c 界面分布 编辑器窗口 编辑器窗口用来编辑SAS 程序 编辑器能够实现如下的功能 对SAS语言的彩色编码和语法检查 可展开或折叠程序片段 可记录宏 支持键盘快捷方式(Alt 或 Shift )加上其它键 多层撤消和恢复 1.c 界面分布 日志窗口 v 程序行黑色:以语句标号开始 v 提示蓝色:以NOTE开始 v 警告绿色:以WARNING开始 v 错误红色:以ERROR开始 1.c 界面分布
5、 输出窗口 输出SAS程序的执行结果 1.c 界面分布 结果窗口 n结果窗口可以查看和管理 SAS程序的输出结果 1.d 逻辑库介绍 从SAS系统来看,它所建立 的众多的SAS文件可按不同 需要将其归入若干个SAS逻 辑库,以此来对SAS文件进 行访问和管理。一个SAS逻逻 辑库辑库就是一组SAS文件。 SAS逻辑库也是一个逻辑概 念,在Windows环境下,一 个逻辑库就是存放在同一个 文件夹或几个文件夹中的一 组SAS文件。 1.d 逻辑库介绍 从SAS系统内部看,每个SAS文件也有表 明它属性的类型,如SAS数据集的类型为 data(数据文件)或view(数据视图), catalog等。
6、 注:catalog是sas目录,在catalog中存放的是frame,scl, 类等AF组件以及其他sas文件。 1.d 逻辑库介绍 Work数据库叫做临时库临时库,存放在其中的SAS文件 叫临时文件临时文件,这些临时文件当退出SAS系统时会 被自动删除。 Sasuser库保存与用户个人设置有关的文件,它 是永久的,即退出SAS时文件不会被删除。 Sashelp库保存与SAS帮助系统、例子有关的文 件,是永久的。 Maps SAS系统的四个预定义数据库系统的四个预定义数据库: 1.e 建立一个新的逻辑库 建立一个新逻辑库的两种方法:建立一个新逻辑库的两种方法: 通过菜单 通过语句 1.e 建
7、立一个新的逻辑库 用菜单操作用菜单操作: 在资源管理器窗口双击逻辑库图标。选文件文件新新 建建 输入newlib,引擎选项中保留默认默认项,选中启动启动 时启用时启用 可以选择其他的引擎,读入不同格式的数据文件。 点击浏览浏览按钮,选上这个数据库的目录,点击确确 定定。 点击确定确定按钮,在资源管理器窗口出现newlib图 标。 1.e 建立一个新的逻辑库 1.e 建立一个新的逻辑库 用用LIBNAME语句:语句: LIBNAME libref SAS-data-library ; 其中libref 是逻辑库名,如newlib SAS-data-library 是逻辑库的路径 例:例:用LIB
8、NAME语句创建SAS逻辑库。 Libname fdata d:fdata; Libname stoindvfd:stoindvf; 例中,创建SAS逻辑库FDATA和stoindvf。分别对 应物理文件夹为D:fdata和D: stoindvf. 1.f SAS数据集 在SAS系统中,数据是以数据集的形式来存储和处理的。 SAS数据集(SAS Datasets)可以看作由若干行和若干 列组成的表格。 SAS 数据集存放在以特殊格式存放的二进制文件中, 用一个SAS逻辑名来使用SAS数据集,不需要知道它在 磁盘存储的物理地址。 数据集的每一行叫做一个观测(Observation),每列 叫做一
9、个变量(Variable)。 SAS数据集等价于关系数据库系统中的一个表,SAS 数据集有时也称作一张表。 SAS数据集后缀为.sas7bdat 1.f SAS数据集 有关有关SAS数据集命名的约定数据集命名的约定 SAS名字由英文字母、数字、下划线组成;第一 个字符必须是字母或下划线; 名字最多用32个字符,大写字母和小写字母不区 分。 SAS名中不能有空格和一些特殊字符($, # ); 系统保留了一些特殊的变量名,如_N_, _ERROR_等。 1.f SAS数据集 nSAS数据集用两级水平名命名:数据集用两级水平名命名: 第一级名字是SAS逻辑数据库的库名; 第二级是文件的名字。 例如S
10、ashlep. Class,Sashelp是数据库的名字, 而Class则是文件本身的名字。 1.f SAS数据集 临时数据集和永久数据集的区别:临时数据集和永久数据集的区别: 临时库数据集可以使用单水平名或双水平名; 而永久库数据集必须使用双水平名字来加以确认。 例如Work. Class和Class都代表临时库中的文件, 而Sashlep. Class则是永久库中的文件。 1.g SAS语句简介 SAS语句由关键词开始,分号结束。 语句中间的SAS名,过程名和运算符等为SAS系统提供信息或执行操作。 例3.1 有效的SAS语句。 data data1; put name $ 8.; for
11、mat date yymmdd10.; proc means data=fdata.class; infile d:fdataclass.txt; do I=1 to 100; X=Y+1; SUMX+X; end; run; 1.g SAS语句简介 SAS语句格式: KEYWORD parameteroptions; 关键词关键词 参数 选项; 其中: 粗体-必须按显示形式书写的关键词; 白正体-用户提供的信息; -括号内的信息可选; |-任选。 参数PARAMETER不是任选项,不用括号,OPTIONS是选项关键词。 1.g SAS语句简介 数据步与过程步 一组SAS语句组成一个SAS程序
12、。 SAS程序中的语句可分为两类步骤: 数据步; 过程步。 所有SAS程序均有数据步和过程步两大模块构成。 1.g SAS语句简介 数据步 数据步编译、创建和修改SAS数据集或文本文件、读入源数据文件和SAS 数据集。 数据步以DATA语句开始。 例3.2 数据步创建SAS数据集。 data A; set fdata.a1a0001; keep date clpr; run; 例 中 , 由 数 据 步 产 生 数 据 集 A , 数 据 来 源 于 S A S 数 据 集 FDATA.A1A0001(上证指数)的日期DATE和收盘价CLPR。 1.g SAS语句简介 过程步 过程步面向SAS
13、数据集,完成对数据集的加工整理、分析和呈现等功能。 过程步以PROC语句开始。 例3.3 应用统计量均值过程。 proc means data=fdata.a1a0001; var clpr; output out=M mean=CLPR_M; run; 例中,过程步调用SAS的MEANS过程,对数据集FDATA.A1A0001(上证指数) 中的收盘价CLPR求得均值CLPR_M,并将产生的结果存贮在数据集M中。 1.g SAS语句简介 一般特点:一般特点: 语句用分号结束 不区分大小写 空格、空行一般可以任意放置 SAS的变量分字符型和数值型 字符型变量缺失时,变量为空 数值型变量缺失时,变
14、量为. SAS程序由数据步和过程步构成 1.h 功能键 F9调出功能键窗口。 例如F3、F8是提交SAS程序 F4是调用刚提交的程序 F5、F6和F7分别是调用编辑器窗口、日志 窗口和输出窗口。 CLTE是清除窗口中的内容 1.i SAS语句执行过程及PDV概述 当一个DATA步被提交时,提交的语句先被编译成 SAS内部编码,以在PDV区域搭建临时库。PDV (Program Data Vector),是存储DATA步运行过程中每 一个变量的记忆区。在程序执行过程中,观测值在PDV中 生成,然后通过output语句输出到SAS数据集。DATA步 每次只处理一个观测值,重复执行,直到最后一个观测
15、处 理完,执行完成。在默认情况下,每次DATA步从头开始 执行时,PDV会被清空。 2.用SAS读取外部数据(raw file) 通过SAS语句或向导,可以方便地导入或 导出多种类型的外部数据文件,如xls,csv, txt,dbf等。 本章主要介绍如何用data步导入非固定格式 的也即自由格式的外部数据。 2. 用SAS读取外部数据(raw file) Data ; Infile fileref DLM=characters ; Input var1$ : format var2 ; Run; 2. 用SAS读取外部数据(raw file) Fileref:导入文件路径及名称 DLM:分割符
16、,默认为空格。 Missover:允许空值。 Firstobs:从第x行读取数据 k:从第k位开始读数据。 $:定义的变量为字符型。 Format:定义变量格式。 M-n:读取m-n位。 :停顿符。 :继续读取。 /:换行符。 注:注: 以从左到右的顺序读取数据。 所有变量默认长度为8位,如读入数据超出8位,需在之前定义 2. 用SAS读取外部数据(raw file) 例例1:读入以空格分割的数据。:读入以空格分割的数据。 2. 用SAS读取外部数据(raw file) 例例2:读入以冒号分割的数据:读入以冒号分割的数据 2. 用SAS读取外部数据(raw file) 输出为: 2. 用SAS
17、读取外部数据(raw file) 例例3:改变相关变量的格式:改变相关变量的格式: 2. 用SAS读取外部数据(raw file) 输出为: 2. 用SAS读取外部数据(raw file) 例例4:用:用missover读取数据读取数据 2. 用SAS读取外部数据(raw file) 输出为:输出为: 2. 用SAS读取外部数据(raw file) 如果不用missover: 2. 用SAS读取外部数据(raw file) 输出为:输出为: 2. 用SAS读取外部数据(raw file) 例例5:用换行符:用换行符/读入数据读入数据 2. 用SAS读取外部数据(raw file) 输出为: 2
18、. 用SAS读取外部数据(raw file) 例6: ,的运用的运用 2. 用SAS读取外部数据(raw file) 2. 用SAS读取外部数据(raw file) 输出为:输出为: 注:注: 为停顿符,在本例中,读完第8位后停顿,判断后继续读取本行数据,而不换行。 2. 用SAS读取外部数据(raw file) 例例7:运用:运用 2. 用SAS读取外部数据(raw file) 输出为:输出为: 3.用SAS读取和处理SAS数据集 Set语句 DATA步的一般选项 函数的介绍 控制语句 循环 条件 3.a Set语句 SET语句可以从一个已经存在的SAS数据集创建新的数据集, 它的一般形式:
19、 DATA new; SET old; 其他SAS语句; RUN; 使用了SET语句后: 所有SET语句指定数据集中的变量自动被读入PDV(除非 使用了SET语句的一些特殊选项如KEEP=和DORP=选项) 3.b DATA步的一般选项 by Keep/Drop Rename Where Format Label Retain Array 3.b DATA步的一般选项 By选项:选项: 一般在data步的set,merge,modify和update之后出 现,用于分类不同的观测。 语法: BY variable-1 . . . variable-n ; 3.b DATA步的一般选项 By选项
20、例题: data _null_; set sorted_class; by height groupformat; if first.height then put Shortest in height measures height:best12.; run; 3.b DATA步的一般选项 当by跟在set之后时: 数据需要事先排序 每个by分类之后的第一个和最后一个观测会被自 动创造。 3.b DATA步的一般选项 Data temp; Set salary; By dept; Run; 上述语句中,PDV内会生成出first.dept,last.dept两个临时 变量: first.de
21、pt:分类后的第一个观测时,值为1,其余为0。 last.dept:分类后的最后一个观测时,值为1,其余为0。 3.b DATA步的一般选项 3.b DATA步的一般选项 输出为: 注:注:_n_,first.dept和和last.dept在实际输出中在实际输出中并不存在并不存在,而只存在于,而只存在于 PDV。 3.b DATA步的一般选项 KEEP/DROP选项:选项: 控制哪些变量将被写入将要创建的数据集。 语法: KEEP/DROP variable-list; 3.b DATA步的一般选项 KEEP/DROP选项:选项: DROP=和KEEP=选项有两种用法: 用于输入数据集(用作S
22、ET语句的选项)控制哪些变量被写入 PDV 用于输出数据集(用作DATA语句的选项)控制PDV中的哪些变量 被写入新创建的数据集 3.b DATA步的一般选项 Keep例题: keep name address city state zip phone; keep rep1-rep5; 3.b DATA步的一般选项 RENAME 选项:选项: 重新命名变量名。 语法: RENAME old-name-1=new-name-1 . . . ; 3.b DATA步的一般选项 Rename例题: data market(keep=newdept newaccnt items volume); ren
23、ame olddept=newdept oldaccnt=newaccnt; set sales; if oldaccnt5000; run; 3.b DATA步的一般选项 WHERE选项:选项: 选出选出SAS数据集中符合条件的观测。数据集中符合条件的观测。 语法:语法: WHERE where-expression-1 ; 逻辑符可以是:AND, AND NOT, OR, 或 OR NOT. 3.b DATA步的一般选项 Where例题: data testmacs; set customer; where substr(name,1,3)=Mac and (city=Charleston
24、 or city=Atlanta); run; 3.b DATA步的一般选项 Format选项:选项: 改变变量的格式。 语法: FORMAT variable-1 ; FORMAT variable-1 format ; FORMAT variable-1 format variable-1 format; 3.b DATA步的一般选项 Format例题: data tstfmt; format W $3. Y 10.3 default=8.2 $8.; W=Good morning.; X=12.1; Y=13.2; Z=Howdy-doody; put W/X/Y/Z; run; -+-
25、1-+-2 Goo 12.10 3.200 Howdy-do 3.b DATA步的一般选项 Label选项:选项: 语法: LABEL variable-1=label-1 . . . ; 3.b DATA步的一般选项 Label例题: label score1=Grade on April 1 Test score2=Grade on May 1 Test; 3.b DATA步的一般选项 Retain选项:选项: retain所指定变量的观测在一次data步运行完成后在PDV 内不会被清空。 3.b DATA步的一般选项 data class.bestscores; drop grade;
26、set class.allscores; by id; retain highest;if first.id then highest=.; highest=max(highest,grade); if last.id then output; run; Retain例题: data allscores; input id$ grade ; cards; 1 70 1 75 1 80 2 60 2 65 2 80 2 95 3 74 3 53 4 80 4 90 4 95 4 100 ; run; 输出: Id highest n 80 n 95 n 74 1 100 3.b DATA步的一般
27、选项 Array选项:选项: 将一系列相似的变量定义为一个数组。 语法: ARRAY array-name subscript ; 3.b DATA步的一般选项 Array例题: array rain 5 janr febr marr aprr mayr; array days7 d1-d7; array test4 t1 t2 t3 t4 (90 80 70 70); array test2* a1 a2 a3 (a,b,c); array new2:5 green jacobs denato fetzer; 3.c 函数的介绍 n数值型变量的处理数值型变量的处理 切断函数切断函数 统计函数
28、统计函数 日期函数日期函数 随机函数随机函数 n字符型变量的处理字符型变量的处理 n字符型变量与数值型变量的转换字符型变量与数值型变量的转换 3.c. 数值型变量的处理 切断函数切断函数: Round:返回四舍五入后的数值。 Ceil:返回大于等于该值的最小整数。 Int:返回整数部分。 3.c. 数值型变量的处理 输出为: 例例1: 3.c. 数值型变量的处理 统计函数:统计函数: Sum:求和。 Mean:求均值。 Min:求最小值。 Max:求最大值。 Var:求方差。 Std:求标准差。 注: 变量无需排序。 无视缺失值。 以上统计均为横向数值统计 3.c. 数值型变量的处理 例:例:
29、 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 . ( + - / , % | Substr (variable, position):返回 variable中第position开始length位字符。 若length缺省,则返回
30、position后的所有字符。 3.c. 字符型变量的处理: Trim:删除字符间空格。 Upcase:所有字符大写。 Lowcase:所有字符小写。 |,!,!:连接两个字符变量。 3.c. 字符型变量的处理: 3.c. 字符型变量的处理: 3.c. 字符型变量的处理: 结果:结果: 3.c. 字符型变量与数值型变量的转换: Input:字符型转为数值型。 注:在某些情况下纯数值的字符型变量可以自动转化为数值 型变量 3.c. 字符型变量与数值型变量的转换: 例例1:input的运用的运用 3.c. 字符型变量与数值型变量的转换: 例例2:字符型变量自动转换为数值型:字符型变量自动转换为数值
31、型 3.c. 字符型变量与数值型变量的转换: Put:数值型转为字符型。 3.c. 字符型变量与数值型变量的转换: 3.c. 字符型变量与数值型变量的转换: 3.d 控制语句 n循环 n条件 3.d. 循环 循环:循环: Do 循环: 3.d. 循环 Do循环的作用: 进行重复的计算 生成数据 减少冗余的代码 读取数据 有条件的执行sas代码 3.d. 循环 Do循环的语法: DO index-variable =start TO stop BY increase; END; 注:by可省略,缺省为递进1。 DO index-variable =value1,value2,value3; EN
32、D; 注:value可以是字符或数值。 3.d. 循环 DO WHILE(expression); END; 当expression正确时,进入循环语句。 在每次循环开始之前进行判断。 如果expression开始就是错误的,循环不会执行 3.d. 循环 DO UNTIL(expression); END; 循环语句将被执行,直到expression正确。 在每次循环之后再进行判断。 循环语句至少会被执行一遍。 3.d. 循环 多条件判断:多条件判断: DO index-variable =start TO stop BY increase WHILE|UNTIL(expression); E
33、ND; 3.d. 循环 例:例: 结果:结果:capital=157,086.05。 3.d. 循环 循环嵌套:循环嵌套: 每个循环要有不同的循环变量。 确保每个DO有一个END相对应。 例:例: 3.d. 循环 输出为:输出为: 3.d. 循环 SAS的比较操作符: 操 作 符 符 号 意义 LT大于(greater than) EQ=等于(equal) LE=大于等于 (greater equal) NE = 不等于(not equal) 3.d. 循环 SAS的逻辑操作: 操作符符号意义 AND ELSE statement; 其中:expression:SAS条件表达式 stateme
34、nt:任何可执行的语句 注:ELSE语句不是必须的 3.d. 条件 例: if status=OK and type=3 then count+1; if age ne agecheck then delete; data region; input city $ 1-30; if city=New York City or city=Miami then region=ATLANTIC COAST; else if city=San Francisco or city=Los Angeles then region=PACIFIC COAST; datalines; .more data lines. ; 3.d. 条件 在条件分支中可以使用DO和END语句在每一 个条件下执行一组语句,一般形式: IF expression THEN DO; statement; END; ELSE DO; statement; END
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天然气管道行业安全管理及隐患排查技术升级方案
- 护理礼仪与心理支持
- 2026年刮痧手法实操祛湿排毒养生学习资料
- 工程质量历久承诺书(5篇)
- 2026年面部经络按摩养颜抗衰实操教程课
- 床上洗头护理的创新技术
- 珍爱文化遗产承诺书(5篇)
- 2024-2025学年度燃气职业技能鉴定考试彩蛋押题附参考答案详解(黄金题型)
- 体育健身行业智能健身管理与服务系统方案
- 品牌宣传策略规划与实施框架
- 索尼微单相机A7 II(ILCE-7M2)使用说明书
- 汽修厂安全培训app课件
- 国际业务审计课件
- 电池化成工作业指导书
- 泉州美食课件
- 警察疾病健康知识讲座
- GB/T 311.11-2025绝缘配合第11部分:高压直流系统绝缘配合的定义、原则和规则
- 2026届广东省深圳市南山区中考数学仿真试卷含解析
- AGV系统操作规程
- 冠心病分类及护理
- 中韩自贸协定对韩中机电产品贸易的影响:基于贸易创造与贸易转移效应的分析
评论
0/150
提交评论