SAS第二讲:编程创建SAS数据集

合集下载

SAS第一章SAS软件概述第二章建立SAS数据集PPT课件

SAS第一章SAS软件概述第二章建立SAS数据集PPT课件
4. 萝卜白菜各有所爱,每个人擅长使用和偏好不同。 5. SAS系统的长处,体现于它的编程操作功能的无比强大。
二、学习哪些内容
1.软件简介 2.SAS软件概述 3.数据集的建立 4.2.统计分析与应用 5.描述统计 6.统计分析
三、使用教材
1. SAS软件实用教程(第2版) 张瑛 雷毅雄 科学出版社; 2. 参考资料: 3. (1)SAS统计分析, 沈其君,高等教育出版社,以统计方
by descending avg;
run;
proc print;
run;
SAS语句特点
SAS程序由语句组成,语句用分号结束。语句一般由 特定的关键词开始,语句中可包含变量名、运算符等,它 们以空格分隔。SAS对语句所占的行数无限制,一个语句 可占多行,同样,多个语句也可占一行。
SAS程序的程序组成
2. 在数据处理和统计分析领域,SAS系统被誉为国际上的标准软 件系统,尤其是在医学统计、生物统计,更认可SAS运行结果 。
3. 在此仅举一例如下:在以苛刻严格著称于世的美国FDA新药审 批程序中,新药试验结果的统计分析规定只能用SAS进行,其 他软件的计算结果一律无效!哪怕只是简单的均数和标准差也 不行!由此可见SAS的权威地位。
SAS程序可以非常复杂,但其基本结构一般由 数个完成单个动作的程序步和环境设置语句构成。 而程序步分为两种,一种叫数据步(data step) ,一种叫过程步(proc step),分别以DATA语句 和PROC语句开始。数据步和过程步由若干个语句组 成,一般以RUN语句结束。前者用来创建和修改用 于统计分析的数据集,后者则利用已创建的数据集 完成特定的统计分析任务。比如下面的例子:
bmi=weight/height**2; 值赋给bmi*/

SAS 编程及应用------SAS数据集的建立

SAS 编程及应用------SAS数据集的建立

SAS 编程及应用------SAS数据集的建立SAS数据格式v 观测(Observation)1.描述被观测对象的单一整体(如个别人、一个实验动物等)某些特性的一系列数据值称为一个观测,又称为观察。

在SAS数据集中每一行数据是一个观测。

v 等同于数据库中的一条记录v 变量(Variable)1.变量指定了数据的某一特性。

在SAS数据集中,每一个观测是由各个变量的数据值组成。

在数据集中每一列数据是一个变量。

v 变量的命名1.最多32个字符长,第一个字符必须是字母或者下划线,不能有空格。

特殊字符(如$,@,#)也不允许在SAS名中使用。

合法变量名如:A A1 abc name age total …;2.SAS系统保留的特殊变量名,以下划线开始和结尾。

如:_N_和_ERROR_等。

v 变量的特性1.名称、类型、长度、输入格式、输出格式和变量描述;2.两种类型:数值型和字符型;3.长度特性:是指存贮的字节数。

缺省长度是8(为了存贮长度与缺省值不同的变量,需使用LENGTH语句)。

v 缺失值1.当一个变量由于某种原因没有得到(可能没有观测到,或由于数据错误,或由于计算错误),称该值为缺失值;2.在SAS中数值类型的缺失值用“.”表示;3.字符类型的缺失值为“”(空格)表示。

v 常量1.SAS常量为值固定不变的量;2.常量分为以下三类;•数值常量:1.5 -2.79 1.75E-5;•字符常量:“Hello”‘ABC’“Zhangli”;•日期、时间、日期时间常量:后接D,T,DT。

‘1JAN2000’D‘9:25:19’T‘1JAN2000:10:30:05’DTv SAS数据集1.SAS数据集是SAS过程的数据基础。

可以从外部数据读进来,转变成SAS数据,也可以自己输入产生;2.可以是临时的,或永久的;3.数据集含两部分内容:• 描述部分:数据名称、类型、长度、格式等• 数据部分:包含实际数据值4.SAS数据值被安排在一个矩阵式的表状结构中。

第4章 用编程读入数据建立SAS数据集

第4章 用编程读入数据建立SAS数据集

第4章用编程读入数据建立sas数据集§4.1 sas编程基本概念§4.1 概述sas语言程序由数据步和过程步组成。

sas语言的基本单位是语句,每个sas语句一般由一个关键字(如data,proc,input,cards,by)开头,包含sas名字、特殊字符、运算符等,以分号结束。

sas关键字是用于sas语句开头的特殊单词,sas语句除了赋值、累加、注释、空语句以外都以关键字开头。

sas名字在sas程序中标识各种sas成分,如变量、数据集、数据库,等等。

数据步和过程步数据步用来生成数据集(从数据片中或外部数据文件中读取数据)、计算整理数据等。

语法:data 数据集名;.....;run;过程步:面向SAS数据集,完成某个特定的计算、分析和呈现功能语法:proc 过程名;......;run;sas程序的书写规则sas程序是由一至多个数据步骤(data step)和过程步(Procedure Step)互相交叉组合而形成。

根据各个数据步骤的属性或过程步的功能,来实现sas 数据文件的建立、进行统计分析等。

sas系统的编译方式是以数据步或过程步为一个区块来编译的,语法编译无误便开始执行该数据步或过程步,执行完整一个数据步或过程步区块后便继续处理下一个数据步或过程步。

一个区块接一个区块地将所有程序代码编译及执行完后,便完成了该程序的执行。

sas程序代码提交出去,便已将程序交由sas系统去完成。

用户必须确定sas系统在log窗口中是否有显示错误的程序代码,分析数据的属性是否正确。

sas的程序代码是自由格式的程序代码,每个语句由关键词开始,以“;”作为一个程序语法的结束;一行可以含多个程序语句;一个程序语句也可以分成多行,但必须以空格(只要有一个空格的地方,就可用任意多个空格来替代)为分隔。

注:在命令框中键入num即可显示或取消行数。

指定逻辑库名与逻辑文件名指定逻辑库名在sas系统中只有sas数据集才能被sas过程直接调用,sas数据集的结构和dbf数据库完全相同。

第二讲 SAS基本概念:数据集

第二讲 SAS基本概念:数据集
: SAS数据文件 SAS数据视图
SAS数据文件同时描述信息 和存储数据值。 SAS数据视图并不实际存储 数据,而只是一个查询语句。
class是数据视图 class1是数据文件
SAS数据集组成部分包括: 描述信息; 每列为一个变量,包括一 数据值。 组有着相同特征的值
选数据( Data) Where清除(Where Clear): 可 清除where语句的选择, 显示全 部观测; 选 编辑(Edit) 查找(Find)或重复查找(Refind): 可使用where语句逐条查找满足 条件的观测(记录).
SAS系统对数据文件的管理
使用Viewtable 编辑
ViewTable 提供一个显示数据集内容的窗口.它具有对 数据集的浏览、编辑和创建的功能 如何进入ViewTable窗(VT窗或VT界面): (1) 在SAS资源管理器或逻辑库对话窗中双击SAS 数据集的图标(V8) (2) 键入命令:VT 数据集名 例如 VT Sashelp.CLASS (3) 在SAS主窗口由工具=>表编辑嚣=>进入TV界面后 由文件=>打开所选数据集.
data=ResDat.Idx000001;
SAS系统对数据文件的管理
SAS 逻辑库(文件库)--用资源管理(浏览)器查看库 进入浏览器窗口即可查看 SAS文件库的属性和内容.
若用详细列表显示库内容, 点击某一栏目名时可将此栏 目内容按字母顺序排序后详 细列出.
在库名处点击鼠标右键 并选属性(Properties) 即可显示该库的属性.
sassas逻辑库文件库用浏览器查看文件属性对数据文件可查看各列字段属性在列名如weight点击右键可修改某些栏目的内容sassas逻辑库文件库用浏览器操作文件在文件名处点击鼠标右键可在弹出菜单中选择对文件的操作包括文件的更名复制删除复制文件也可以用将文件直接拖动至库的目录树来实用鼠标左键双击数据文件名即可打开sas数据集

SAS学习系列05. 数据步创建数据集的过程

SAS学习系列05. 数据步创建数据集的过程

05. 数据步创建数据集的过程数据步创建数据集的过程分为两个阶段:1. 编译阶段:扫描语法错误,生成数据集的“描述信息”;2. 执行阶段:逐条记录地读入并处理输入数据(循环执行若干次数据步)。

(一)编译阶段将数据从外部文件读入“程序数据向量”(Program Data Vector)。

一、在输入缓冲区(内存)创建“程序数据向量”注意:是读入外部数据时创建,而不是读入SAS数据集时创建。

例1下面的数据步代码:infile'D:\我的文档\My SAS Files\9.3\invent.dat';input Item $ 1-13 IDnum $ 15-19 InStock 21-22 BackOrd 24-25;Total=instock+backord;run;将创建如下的“程序数据向量”:包括_N_:记录数据步执行的次数,读入一条记录则+1;_ERROR_:用来指示错误,默认是0,遇到错误则变为1;注意:_N_和_ERROR_是该处理过程自动生成的,将来也不会出现在数据集的观测值中。

Item、IDnum、InStock、BackOrd:数据集自身的变量,其变量属性(长度、类型等)在第一次读到数据时确定;Total:数据步中赋值语句生成的变量。

二、检查语法错误(1)关键词缺少或拼写错误;(2)无效的变量名;(3)标点符号缺失或拼写错误;(4)无效的可选参数。

三、生成数据集的“描述信息”遇到数据步的run;语句时生成,包括:(1)数据集的名称;(2)数据集包含变量的个数;(3)数据集各变量的变量名和属性。

注意:此时,“程序数据向量”中还没有内容,数据集中也还没有观测值,观测值将在执行阶段从“程序数据向量”中逐条读取。

(二)执行阶段逐条记录地从“程序数据向量”读入并处理输入数据(循环执行若干次数据步)。

例如,例1中的invent.dat文件共有9条记录:数据步读入它将循环执行9次。

执行阶段具体步骤:第1次循环:一、初始化“程序数据向量”_N_ = 1_ERROR_ = 0其它变量 = 缺省值(数值型是 . 字符型是空格)二、执行input语句前例中,代码依次将外部数据文件的第一行的1-13列读入数据存入Item变量,……,赋值语句将instock和backord值相加赋给Total.三、数据步收尾工作1. 将当前“程序数据向量”中的条目,作为第1条观测值写入输出数据集。

SAS数据集的建立.

SAS数据集的建立.

数 据 分 析
建立SAS数据集
¾ SAS数据集的名称 包括三部分,格式为: Libref.data-set-name.membertype Libref(库标记)──是SAS数据库的逻辑名称 data-set-name(数据集名称) membertype(成员类型) ──SAS 数据文件的成员类型是data; SAS 数据视窗的成员类型是view. 成员类型用户使用时不必给出.
建立SAS数据集
¾常用数据步语句简介
1. DATA语句 语句格式: data <数据集名表>; DATA语句的作用是表明数据步的开始,并给出 所建数据集的名称. 临时数据集及永久数据集. 空数据集:使用_NULL_数据集名,不建立数据集. 例如: data _NULL_; a=sin(3.1415/4); b=int(a*100); put a b; /*将变量的值输出到log窗口*/ run; 自动命名:不给出数据集名,则SAS自动以data1, data2等依次命名. 当前数据集:最后建立的数据集.
数 据 分 析
建立SAS数据集
¾读取数据后列指针的定位 读完数据后指针的位置取决于使用的输入方式. 当使用列表输入时指针移向被取值后的 第2列,并从下一非空格列读下一数据. 当使用列输入或格式化输入时,指针移到 所取值后的第1列, 并从此列开始计算下一变 量的长. 如: input A 3-4 B; 或 input @3 A 2. B; /*读完A值后,指针移到第5列*/ 不论什么时候, 一旦指针移向新的记录行, 列指针都自动置为 1. 数 据 分 析
建立SAS数据集
建 立 SAS 数 据 集
数 据 分 析
建立SAS数据集
§1 SAS数据集和数据库

SAS建立数据集

SAS建立数据集
data-set-name(数据集名字)──这是SAS数据集 的名字 membertype(成员类型)──SAS数据集名字的这 一部分用户使用时不必给出。SAS 数据文件的成 员类型是DATA;SAS 数据视窗的成员类型是 VIEW
SAS数据集的名字
例 PRINT过程用相同方法处理数据集aaa.abc, 而忽略它的形式: PROC PRINT DATA=aaa.abc 例中aaa.abc这个SAS数据集名字,aaa是库标记, abc是数据集名字,成员类型没有写出,应该是 DATA或VIEW中一个。
打开KEYS 窗口后在F12的右边的空白区键入 OPTIONS,完毕之后退出KEYS窗口
二 显示管理系统命令
1显示管理系统命令的发布 有四种命令的发布方式都可达到相同结果。
① 在命令框中直接键入命令
② 按功能键
③ 使用下拉式菜单
④ 使用工具栏
例:打开OUTPUT窗口,相应地四种操作:
2 显示管理系统的常用窗口
KEYS
LIBNAME
查看及改变功能键的设置
查看已经存在的SAS数据库
DIR
查看某个SAS数据库的内容
如 dir sasuser
VAR
OPTIONS
查看SAS数据集的有关信息
查看及改变SAS的系统设置
例:自定义F12功能键为OPTIONS命令
quantilex知识点回顾描述性统计57?众数频数tabley?多组数据的概括?summary计算均值和五数?aggregate分组描述函数?aggregate数据框指定分组变量计算函数?aggregatestatex77listregionstateregionmean知识点回顾描述性统计58?按列联表中某个属性求和即边际列表?margintable?margintableeyehair1按行相加?margintableeyehair2按列相加?proptable产生相对频数列联表频数边际?optionsdigits1保留一位有效数字?proptableeyehair1知识点回顾描述性统计知识点回顾?sas名字的命名规则

第二章 SAS数据集的建立

第二章 SAS数据集的建立

The SAS System
23:20 Tuesday, August 28, 2001 1 height weight bust
Obs n 3 4
男 男 女
0.94 0.91 1.39
13.59 14.20 16.15
50.4 50.0 51.6
数据步读入数据的一些补充


Infile 的一些选项dsd 使用dsd后,缺省的分隔符为逗号; 不使用dsd时,多个相连的分隔符作为一个分 隔符处理。使用dsd后,每个分隔符都作为一 个字段的分隔符。两个相邻的分隔符就意味着 前一个分隔符后的字段为缺失值。 在读入时,将同一数据行中最外层的引号(单 引号或者双引号)中间的内容作为字符串读入, 并将最外层的引号对除去。
SAS 数据集看数据集


proc print data=数据集名; run; 用工具栏中的图标进入库管理对话窗 选中数据集 在弹出菜单选 Open table view
永久数据集的建立 程序基本结构 Libname 库逻辑名 ”路径”; Data 语句; Input 语句; 用于数据步的其它语句; Cards; 若干数据行 …… Run; Libname 语句 格式:Libname 库逻辑名 “路径”; 功能:以库逻辑名代替其后所指的路径.
Data indt05; Infile 'd:\lecsas\basev8\dst\imptdt06.txt' dlm=','; Input gender $ age bankcard freqbank deptcard freqdept; Run; Proc print; Run;
@
4.用窗口建立数据集
第二章 SAS数据集的建立

SAS系统和数据分析建立SAS系统的数据集(ASSIST)

SAS系统和数据分析建立SAS系统的数据集(ASSIST)

第六课建立SAS系统的数据集(ASSIST)得到SAS数据集的五种途径●用SAS/ASSIST 通用菜单系统创建数据集●用SAS/FSP系统的FSEDIT过程创建数据集●用SAS数据步(DATA STEP)将外部文件转换为数据集●用SAS/ACCESS系统访问其他数据库●用FILE/IMPORT或EXPORT输入输出数据库其中,如何使用SAS数据步读入外部原始数据文件,并将它们转换为SAS数据集是我们要重点掌握的。

一、用ASSIST通用菜单援助系统创建数据集下面我们通过创建一个SURVEY数据集,并用报表形式显示的例子,来说明SAS/ASSIST 软件的具体的操作步骤。

1.启动SAS/ASSIST软件最简单的方法是单击工具拦上的SAS/ASSIST按钮,或选择菜单命令:●Globals/SAS/ASSIST或在左上角的命令框直接键入Assist并按Enter键,都可启动SAS/ASSIST软件,主菜单如图6.1所示。

共有11个子系统:TUTORIALDA TA MGMT (DA TA Management)REPORT WRITINGGRAPHICSDATA ANAL YSISPLANNING TOOLSEISREMOTE CONNECTRESULTSSETUPINDEX图6.1 SAS/ASSIST软件的主菜单2.选择主菜单中的DATA MGMT(数据管理)项选择主菜单上的DATA MGMT(数据管理)子菜单,如图6.2所示。

图6.2 数据管理的主菜单3.选择CREATE/IMPORT(创建数据集或输入数据)的方法选择CREATE/IMPORT菜单后,提供几种创建数据集的方法供用户选择,如图6.3所示。

假设我们:(1)选择用交互式方法录入数据:Enter data interactively….图6.3 创建和输入菜单(2)选择第二种以表格的形式输入记录的方式图6.4 选择以表格的形式输入记录的方式如图6.4所示,又提供了两种输入观测的方法供用户选择:Enter data one record at a time (一次输入一条记录的方式)和Enter data in tabular form(以表格的形式输入)。

sas课件第2讲 数据集建立

sas课件第2讲 数据集建立

或较深入的分析功能必须用编程实现.编程是
功能最强的使用SAS系统进行统计分析的方法.
2
SAS语言
SAS语言也是一种计算机语言,常称为 非过程语言或第四代语言. 过程语言一般是指 : BASIC语言, C语 言,Fortran 语言 等需要给出计算过程的 语言. 第一代至第四代语言是指:机器语言,汇 编语言,高级语言(如Fortran 语言等),非过 程语言.
SAS程序的输出 若干数据步和几个过程步构成一个SAS程 序.SAS程序一般在PGM窗口采用全屏幕编辑方 式输入.当程序输入完毕,检查修改后就可以 提交给SAS系统执行. 在程序执行的过程中,日志(LOG)窗口显 示程序执行中记录的信息;它包括执行哪个语 句;生成的数据集中变量个数及观测个数是多 少;每一步花费的时间及出错信息等等. SAS过程产生的输出显示在输出(OUTPUT) 12 窗口.
符必须是字母(A,B,…,Z)或下划线( _ ),后面的字符
可以是字母,数字(0,1,2,…,9)或下划线.
每个SAS语句都用分号(;)结束,出现在SAS语句中 的其他特殊字符和算符有圆括号( ),美元符号($),
小数点号(.),等号(=),冒号(: )和加号(+).
5
SAS语句 SAS语句书写的格式较为灵活:
个,SAS系统8.1版本,SAS函数分为二十二种类
型共有319个函数).
20
SAS函数 SAS函数比一般高级语言的标准函数多得多. 如此丰富的SAS函数,对用户编写SAS程序带来 极大的方便.尤其是概率函数、分位数函数、 非中心函数、样本统计函数 、随机数函数,这 几类函数是一般高级计算机语言所没有的,它 们为统计分析计算提供更大的方便. 下面我们分类介绍一些SAS函数,主要介绍 用于统计计算的SAS函数.

SAS数据集的建立

SAS数据集的建立
data days; input num $3. name $14. birthday mmddy8. weight 4.1; format birthday MMDDYY8.; datalines; 081ZHANGLIN 7-21-86 60.5 082ZHAOHUA 10/30/86640 083WANGQANG 06 19 8659.5 084LIULI 03 07 8763 ; proc print; run;
优点:①输入值可按任何顺序读入,如 input count 10-12 name $ 1-8; ②字符型数据中可包含空格; ③字符型数据可以最多到 200个字符长; ④可读取全部或部分数值. 缺点:数据必须严格按照列位置输入. 注意:所读取列中只有空格或“.”时,被作为缺失值.
数 据 分 析
建立SAS数据集
数 据 分 析
建立SAS数据集
SAS的数据值被安排在一矩阵式的表状结构中, 每一行数据表示一个观测(Observation), 每一列数据表示一个变量(Variable). 变量命名:1~8个字符,第1个字符必须是字母 或者下划线,不能有空格;特殊字符(如$, @, #)不 允许在SAS名中使用;SAS系统保留的特殊变量名, 以下划线开始和结尾,有:_N_ 和 _ERROR_等. 给变量赋值: SAS系统中给变量赋值有2种方式 (1)用input语句将cards(或datelines)后面的数据 或数据文件中的数据读入SAS数据集. (2)用赋值语句将值赋给变量. 数 据 分 析
建立SAS数据集
¾常用数据步语句简介
1. DATA语句 语句格式: data <数据集名表>; DATA语句的作用是表明数据步的开始,并给出 所建数据集的名称. 临时数据集及永久数据集. 空数据集:使用_NULL_数据集名,不建立数据集. 例如: data _NULL_; a=sin(3.1415/4); b=int(a*100); put a b; /*将变量的值输出到log窗口*/ run; 自动命名:不给出数据集名,则SAS自动以data1, data2等依次命名. 当前数据集:最后建立的数据集.

补充2_建立SAS数据集

补充2_建立SAS数据集

}
}
3
建立SAS数据集
缺失值
在数据集的一条记录中某个变量无数据时,称 为缺失值(Missing Value). 字符型变量的缺失值用空格符表示 数值型变量的缺失值用句号“ . ”表示
NAME Alex Linda Simon SEX M F M POSITION AGE SALARY A 35 1500 28 1400 C 45
件格式存放.
在Windows操作系统中,外部文件指:文本文 件,dbf,xls, wk1, wk3 等格式的文件.
15
建立SAS数据集
使用Import菜单读入
由下拉菜单 文件(File) 导入数据(Import)或 导出数据(Export) 按提示逐步转换外部文件为SAS 数据集(或将 SAS数据集转换为外部文件). 对一些用户规定格式的文本文件该菜单系统提 供EFI (External File Interface 外部文件界面)
2
建立SAS数据集
数据集中变量属性要求
数据集中变量的属性: 变量名(Name):字母或下划线开始且不超 过32个(V6为8)个字符、数字或下划线构 成 必须 类型(Type):数值型、字符型($) 长度(Length): 缺省8字节( 32767) 标签(Label): 256字节 输入格式(Informat): 输入格式名w.d 可选 输出格式(Format): 输出格式名w.d
让用户选择所导入的内容.
16Βιβλιοθήκη 建立SAS数据集使用Import菜单读入
为了实现其它文件格式与SAS数据集间的转换, 需提供:
所读入的外部 文件格式和该 文件存放的地 址与名称. 在Options…下 可选择转换的 要求.

SAS第二讲:编程创建SAS数据集

SAS第二讲:编程创建SAS数据集

例9 尝试排除下列程序中的错误 例9_1,例9_2,例9_3
由于引号不配对引起程序无法
终止时,可通过提交:
Ctrl+Break
终止程序进程
13
❖Data步的编译与执行 Input语句的跟踪符号@
已读过的数据行会在下一个Input语句或数据步下一个循环中被弃用 Input语句后加入一个@:保留数据行供下一个Input语句使用;加入@@:保留数据行供下一个Input 语句及下一个循环使用
10
❖Data步的编译与执行 SAS系统处理DATA步的粗流程
源数据文件
_N_ _Error_
工作部件 Input Buffer
PDV
SAS数据集
由程序决定 由程序决定
11
❖Data步的编译与执行 数据步的执行阶段(Execution phase)
PDV中外部变量初始为缺失值(数值:句号,字符:空格) 输入原文件中每条记录至输入缓冲器,按Input语句读入PDV 在数据步结束时缺省地将PDV内容作为一条记录写入新的数据集
例1 编写程序读入数据“例1.txt”。
3
❖Data步的一般形式
数据步的一般形式
Data步一般形式2: Data 数据集名; Infile datalines(或cards) <其他选项>;
<Informat 变量名 变量输入格式; > input 变量输入设定; <Format 变量名 变量输出格式;> <Label 变量名=‘变量标签’;> datalines(或cards); 数据列 ; Run;
分隔符为空格时可缺省 可于input语句前
解决变量长度超过8的问题
默认长度为8,超过会截断

SAS课件-2

SAS课件-2

第二章SAS编程基础创建“ResDat”SAS逻辑库操作如下。

右击SAS资源管理器窗口内空白处,选择“新建”,在弹出菜单“新建”中选择“逻辑库”,点击“确定”按钮,弹出窗口“新建逻辑库”,在其中的“名称”栏内键入“ResDat”。

钩选“启动时启用”,在“路径”栏点击“浏览”按钮,弹出“选择”窗口,通过下拉列表框“选择范围”选择“本地磁盘D”,点击“创建新文件夹”按钮,创建文件夹ResDat,双击文件夹ResDat,点击“确定”按钮。

返回到弹出窗口“新建逻辑库”,点击“确定”按钮,填写完成的“新建逻辑库”窗口如图2.0所示。

本教材中的许多结果和数据文件将存储在SAS逻辑库ResDat中。

2. 1 SAS语言组件2. 1. 1 SAS文件使用SAS时会碰到许多不同类型的文件,如SAS数据文件、SAS目录册等,这些由SAS创建、储存、管理的文件称为SAS文件。

所有的SAS文件都保存在SAS逻辑库中。

最常用的SAS文件就是SAS数据文件,另外一个是SAS目录册。

SAS目录册包含各种类型的信息。

例如功能键的设定等。

SAS编辑器可以存储程序文件。

文件类型一节将对主要的SAS文件类型作详细说明。

2. 1. 2 SAS外部文件SAS不能直接识别的数据文件,称为外部文件。

外部文件一般用于储存数据。

其内容主要有:·要读入SAS数据文件的原始数据;·SAS程序语句;·过程步输出。

2.1.3 DBMS文件SAS软件可以与其他数据库产品进行数据文件转换。

例如数据文件方面使用最广泛的DBMS(database Magement system)数据库系统文件,就可以实现与SAS数据文件之间的转换。

2.1.4 SAS语言元素SAS语言由语句、表达式、选项、格式和函数组成。

SAS有两种语句:·数据步;·过程步。

在SAS中,通过数据步和过程步来使用SAS语言的元素。

这两种语句在后面都将详细地介绍。

《SAS编程入门》讲义

《SAS编程入门》讲义
《SAS编程入门》讲义
SAS过程名及其功用
❖ MEANS 计算基本统计量 ❖ CHART 制作次数分布表 次数分布图 ❖ UNIVARIATE PLOT 正态分布检验 ❖ PRINT 数 据 输 出 ❖ SORT 数 据 排 序 ❖ Tabulate 制作表格 ❖ ANOVA 方差分析 ❖ GLM 协方差分析 ❖ CORR 相关系数的计算 ❖ REG 直 线 回 归 ❖ PRINCOMP 主 成 分 分 析
《SAS编程入门》讲义
SAS算符
❖ 比较算符:建立两个量之间的一种关系,并 要求SAS确定这种关系是成立不成立。如果 它成立,输出的运算结果是1;如果不成立, 运算结果为0
❖ 算术算符:就是数学运算中常用的五种运算 符号
❖ 逻辑算符:通常用来连接一系列比较式
《SAS编程入门》讲义
SAS算符
❖ 运算次序:下面给出复杂表达式运算次序的 准则。
《SAS编程入门》讲义
SAS数据集
❖ SAS数据集是关系型结构,分为两个部份: 描述部份和数据部份
❖ 描述部份包含了一些关于数据属性的信息即 变量名称、类型及次序等信息;数据部份的 结构完全等同于我们一般所理解的数据表, SAS数据值被安排在一个矩阵式的表状结构 中,由字段和记录所构成,字段就是统计学 中研究的变量,而记录就是每个研究对象的 观测。

Input 语句;

(用于DATA步的其它语句)

Cards;

[数据行]


《SAS编程入门》讲义
DATA步入门
❖ 从外部文件读入数据集。数据若已经包含在某个 外部文件(文本文件或数据文件)中,可用此方 法输入数据到数据集文件中。在以上介绍的data 语句后,写入以下语句:

学用SAS软件捷径(2)第二讲 SAS数据集

学用SAS软件捷径(2)第二讲 SAS数据集

作者: 汤旦林
作者机构: 中日友好医院
出版物刊名: 数理统计与管理
页码: 51-53页
主题词: 数据集 永久性数据集 SAS软件分析 SAS数据集
摘要:在用SAS软件分析数据时,必须先将数据输入SAS系统并形成SAS数据集,原始数据可嵌入在程序内部,也可以从外部文件输入,数据集由变量及其观测结果组成,一个新的数据集被建立后,可将其内容或有关的信息输出,以便查看所建立的数据集是否答合要求,SAS数据集有临时性与永久性之分。

对以后还重复使用的数据,最好建立永久性的数据集。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例3 编写程序读入数据“例3.txt”。 例4 编写程序读入数据“例4.txt”。
变量输入设定
按列输入模式
适用于字段固定格式源文件 一般形式: Input 变量名 <$> n1-n2; 优点:读入字段灵活,允许字符型变量中存在空格符与 其他特殊符号,缺失数据无特殊占位要求 缺点:没有设定输入格式,某些类型数据不能正确读入 例5 使用按列输入模式读入数据“例4.txt”。
实验题
编写程序将数据“实验题1”、“实验题2”、“实验题 3”、“实验题4”创建为SAS数据集,要求数据打印结果 分别如下图1-4 实验报告完成要求:(1)Word文档需要命名为“学号+姓 名.doc”(如:103321001陈文杰);(2)实验报告使用模板并且需 包含粘贴过来的原始程序及输出结果截图;(3)输出结果截图 中必需包含程序运行的时间
每个语句以关键词开始,分号结束(不能是中文状态分号) 语句可以在任意列开始和结束,一个语句可以写成多行, 多个语句也可以写成一行 语句的词与词之间可以用一个或多个空格符或其他特殊字 符隔开 程序行数的添加: Tools\Options\Enhanced Editor……
Data步的一般形式
第二讲 编程创建SAS数据集
Data步的一般形式
变量输入设定
Data步的编译与执行
Data步的一般形式
SAS程序的基本内容和结构
基本内容:指明供操作的数据、对数据进行何种加工、期望 的输出结果 基本结构:数据步(Data step)语句、过程步(Proc step)语句
SAS程序的书写规则
Data步的编译与执行
扫描每个语句检查语法错误
创建数据集的描述部分
数 据 步 程 序
编 译 阶 段
执 行 阶 段
对源数据文件每条记录执行数据步 创建数据集的数据部分
Data步的编译与执行
数据步的编译阶段(Compilation phase)
检查程序的语法错误(词语、语法) 转换程序为机器码,供执行阶段使用
变量输入设定
列举输入模式
适用于分隔符固定格式源文件,依次读入由分隔符隔开的 各个字段 分隔符为空格时可缺省 一般形式: Infile 文件名|Cards <DLM=分隔符>; Length 变量名… <$> 长度…; Input 变量名 <$>…; 默认长度为8,超过会截断 Input 变量名:输入格式…;
Input语句的跟踪符号@ 已读过的数据行会在下一个Input语句或数据步下一个循 环中被弃用 Input语句后加入一个@:保留数据行供下一个Input语句 使用;加入@@:保留数据行供下一个Input语句及下一个 循环使用
例10 考虑程序“例10”的执行结果
实验任务
掌握数据步的一般形式与各种变量设定形式 了解数据步的编译与执行过程 掌握常见程序错误的排除方法
例2 编写程序 读入数据 “例2.txt”。
变量输入设定
格式化输入模式
适用于字段固定格式源文件,以指针指定起始列,以输入 格式决定结束列 一般形式: Input 指针控制 变量名 输入格式…;
指针默认起始位置为第一列,读入 一个字段后指向下一列,依次读入 各个字段可缺省
@n:绝对位置 +n:相对位置
DatHale Waihona Puke 步的编译与执行常见错误的排除
拼写错误 ——有些能够被系统自动矫正
遗漏run语句 遗漏分号 引号或括号不配对 选项无效
例9 尝试排除下列程序中的错误
例9_1,例9_2,例9_3 由于引号不配对引起程序无法 终止时,可通过提交: Ctrl+Break 终止程序进程
Data步的编译与执行
由程序决定 SAS数据集
Data步的编译与执行
数据步的执行阶段(Execution phase)
PDV中外部变量初始为缺失值(数值:句号,字符:空格)
输入原文件中每条记录至输入缓冲器,按Input语句读入PDV 在数据步结束时缺省地将PDV内容作为一条记录写入新 的数据集
回到数据步开始,重复①~③直至源文件最后一条记录 读入外部文件时,数据步每次迭代开始系统会为每个变 量置缺失值(除几种特殊情况);读入SAS数据集时,只在 第一次执行时置缺失值,以后会保留其值直至新值写入
数据步的一般形式
Data步一般形式1: Data 数据集名; Infile 文件名 <fistobs=n1> <obs=n2>; <Informat 变量名 变量输入格式;> Input 变量输入设定; <Format 变量名 变量输出格式;> <Label 变量名=‘变量标签’;> Run; 例1 编写程序读入数据“例1.txt”。
解决特殊格式的输入及 例6 编写程序读入数据“例6.txt”。 变量长度超过8的问题 可于input语句前 解决变量长度超过8的问题
例7 编写程序读入数据“例7.txt”。
变量输入设定
读入模式的混合使用
可针对数据特点对不同字段使用不同读入方式 控制变量输入的关键词:指针位置、格式、分隔符 读入变量的原理:从指针位置(缺省为第1列)读入第一个字段 直至(1)达到规定列;(2)遇到分隔符; (3)达到规定长度(默认长度8、格式规定或Length语句规定) 读入格式由两种情况决定: (1)字符型默认(<$>)和数值型默认; ①与变量无冒号分隔:指针达到格式指定长度 (2)指定格式; ②与变量有冒号分隔:指针达到分隔符前一列 例8 数据“例4.txt”的第一个变量为身份证号,从中读取出生年 月日产生一个新的变量。
实验任务
实验任务
实验任务
实验任务
Data步的一般形式
数据步的一般形式
Data步一般形式2: Data 数据集名; Infile datalines(或cards) <其他选项>; <Informat 变量名 变量输入格式; > input 变量输入设定; <Format 变量名 变量输出格式;> <Label 变量名=‘变量标签’;> datalines(或cards); 数据列 ; Run; 无其他选 项时Infile语 句可以省略
建立工作部件:输入缓冲器(Input Buffer)
建立工作部件:PDV(Program Data Vector) 确定数据集中变量的三个必须属性(Name,Type,Length)
建立数据集描述部分
Data步的编译与执行
SAS系统处理DATA步的粗流程 源数据文件 由程序决定 _N_ _Error_ 工作部件 Input Buffer PDV
相关文档
最新文档