第三课SAS数据集
SAS统计应用基础(第三讲)共4讲

3.1 SAS数据集的基本格式
3.1.1 数据集的基本结构
一个SAS数据集就是一个数据文件,用来存放相应的变量 设置和具体变量值,是一个标准的关系型数据库中的二维 表格。 ①表格中的每一行就是一条记录,也称为观测 (observation)
②表格中每一列代表一个变量(variable)<数据库术语中
3.1.2 数据集的描述部分
1.数据集名称
在遵循相应操作系统的文件名规则的前提下,有如下规定: ①必须由英文字母或下划线开始 ②名称中可包含数字、字母和下划线 ③长度可以是1-32个字符 长度可以是1-8个字符 对各类不同对象的命名均适用。 如:逻辑库名、数据集名、数组 名、宏名等
SAS 7.0版以后 SAS 6.12版以前
日期型
例如,日期型数值存储的都是从1960年1月1日到该日期的天数。
数值型变量:SAS默认长度8位。8位的浮点存储方式对 变 量 长 度
大多数应用已经足够。
字符型变量:SAS默认长度8位。不够用,可以对量
的设定加以更改,最大长度可达32K。
3.1.3 数据集的数据部分
没有太多特殊的地方。需要强调的是对缺失值的处理
1、数据的格式化读入
FORMAT variables <format> <DEFAULT-default>; Variables 为希望指定输出格式的变量名称,随后的format用于指定具体的输 出格式。最后面的default选项则用于指定为给定格式的变量的默认输出格式。 Data temp; Format x 6.3 y 5.1; Input x y; Cards; 11 22.22 ; Proc print; Run;
SAS基础3

用Report窗口产生列表报告
进入Report 窗口:
下拉菜单: Globals Present 选定数据集
Create Report
或: 在SQL Query窗口设定了查询要求后,在 下拉菜单选: Actions Design a Report Run Query Begin with default report
(例3.1.6)
(例3.1.6)
用PROC PRINT产生列表报告
改进列表报告 ——与 PRINT有关的系统选项
CENTER | NOCENTER DATA | NODATA NUMBER | NONUMBER LINESIZE=width PAGESIZE=n PAGENO=n
定义方法: OPTIONS语句 OPTIONS窗口
用PROC TABULATE产生汇总表格
TABULATE过程的一般形式
PROC TABULATE DATA=数据集 options; CLASS class-variables ; VAR analysis-variables ; TABLE page-expression,row-expression, column-expression/options; RUN; 如果程序中没有定义分析变量,则默认的统计量为N; TABLE语句中使用的变量必须在CLASS或VAR语句中定 义过。
plotsplots由assistassist菜单系统作散点图和折线图菜单系统作散点图和折线图按另一个变量的取值不同分组制作按另一个变量的取值不同分组制作散点图或连线图并迭合在一张图上散点图或连线图并迭合在一张图上由assistassist菜单系统作散点图和折线图菜单系统作散点图和折线图将多个因变量的散点图或连线将多个因变量的散点图或连线图置于同一张图上图置于同一张图上procgplotprocgplot作散点图和折线图作散点图和折线图procgplotdata数据集
金融数据库——03数据步创建SAS数据集共74页文档

46、我们若已接受最坏的,就再没有什么损失。——卡耐基 47、书到用时方恨少、事非经过不知难。——陆游 48、书籍把我们引入最美好的社会,使我们认识各个时代的伟大智者。——史美尔斯 49、熟读唐诗三百首,不会作诗也会吟。——孙洙 50、谁和我一样用功,谁就会和我一样成功。——莫扎特
金融数据库——03数据步创建SAS数据集
11、获得的成功越大,就越令人高兴 。野心 是使人 勤奋的 原因, 节制使 人枯萎 。 12、不问收获,只问耕耘。如同种树 ,先有 根茎, 再有枝 叶,尔 后花实 ,好好 劳动, 不要想 太多, 那样只 会使人 胆孝懒 惰,因 为不实 践,甚 至不接 触社会 ,难道 你是野 人。(名 言网) 13、不怕,不悔(虽然只有四个字,但 常看常 新。 14、我在心里默默地为每一个人祝 。我爱 自己, 我用清 洁与节 制来珍 惜我的 身体, 我用智 慧和知 识充实 我的头 脑。 15、这世上的一切都借希望而完成。 农夫不 会播下 一粒玉 米,如 果他不 曾希望 它长成 种籽; 单身汉 不会娶 妻,如 果他不 曾希望 有小孩 ;商人 或手艺 人不会 工作, 如果他 不曾希 望因此 而有收 益。-- 马钉路 德。
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数据值被安排在一个矩阵式的表状结构中。
SAS-第三章

第三章利用窗口菜单操作和建立SAS数据集第一节利用Viewtable浏览SAS数据集一、如何打开Viewtable窗口三种方法:一是在浏览器窗口,双击需要打开的数据集图标;二是在命令框键入vt.dst.bclass;三是按照菜单操作如下:然后打开需要的数据集即可。
二、表格(Table View)和表单(Form View)显示表格(Table View)表单(Form View)三、获得Viewtable的帮助在Viewtable窗口执行下列操作:四、浏览和编辑模式浏览模式编辑模式五、查看表及变量的属性(一)表的属性(二)变量的属性(三)用标签显示表头结果如下:(四)用变量名显示表头结果如下:(五)改变列显示的宽度在Viewtable窗口,当光标在灰色的行或列表头栏移动时,光标移至栏的分隔线时,光标会变为一个双向箭头,这时按下左键拖动鼠标就能改变分隔线的位置,改变某一列的宽度或所有行的高度。
(六)隐去某些列(七)改变变量显示的次序1. 可以采用鼠标拖动表头;2. 按如下操作(八)在移动中固定左侧的列(九)用Where语句选择部分观测进行浏览第二节利用Viewtable修改与输出SAS数据集一、按某个变量的值进行排序首先进入表编辑模式,然后二、修改单元格的内容进入表编辑模式,单击某单元格,则该单元格高亮显示。
如下所示。
三、加入新的一行四、复制行五、删除已有的行六、打印输出七、输出为HTML文件第三节用Viewtable建立新的SAS数据集一、用Viewtable打开空白表键入命令vt或vt new=temp或者用如下菜单方式:二、设定变量属性三、输入数据四、利用已有表的属性建立新的数据集首先,通过键入命令vt new=temp或按如下操作打开一个空白表:然后五、以现有的表为基础新建数据集打开一个空表,然后六、SAS的其它屏幕编辑工具1. Analyst(分析员应用程序)2. Insight(交互式应用程序)第四节利用Import菜单转换外部文件为SAS数据集一、进入Import菜单二、使用导入菜单下面以将某个excel文件转换为SAS数据集为例说明。
第三章SAS数据集的基本操作

–功能:
建立指定的库标记与其物理位置的连接。
– 说明:
• 库标记必须指定,见库标记的命名规则 ; • 数据源即文件夹的物理位置,一般从根目录开始指定其路径, 并用一对引号( 或 )引起来; • 库引擎根据创建库中数据集时的SAS版本号可选V6或V8,缺 省值是当前SAS系统所用的引擎。 例: libname dst ‘d:\dst’; run;
• INPUT语句:描述如何读取每一条观测,包括:
– 读取源文件中的数据行, – 变量的命名, – 变量的读取模式;
许振宇 山东大学数学学院 2006
• 源文件:是扩展名为.dat或.csv的文本文件,其中:
– 数据行称为记录,对应于数据集中的观测, – 一个数据行中的若干列组成一个具有特定含义的数据,称 为字段,对应于数据集中的变量 ;
– 3. 过程步的一般形式 :
PROC 过程名 [过程选项]; 过程语句序列; RUN;
– 4. 程序步的结束:
• 遇到RUN语句或后面一个程序步开始时。 • 表示前面的语句可以提交运行了。
许振宇 山东大学数学学院 2006
§2 有关库和逻辑文件的程序语句
• 1. 标记一个数据库
–一般形式:
LIBNAME 库标记 [库引擎] 库的实际物理地址 [选项];
许振宇 山东大学数学学院 2006
结果如下:
许振宇 山东大学数学学院 2006
§3 生成SAS数据集
• 1. 数据步(Data Step)简介
– 1.1 主要功能:
• 创建SAS数据集。 • 说明:数据必须以 SAS数据集的格式保存才能被许多SAS过程径:
• 直接在SAS系统中输入数据;import外部导入; • 用数据步(Data Step)将外部数据文件转换为SAS数据集; • 用SAS/ACESS模块访问其它数据库管理系统。
SAS课件——第03讲 建立SAS数据集

建立SAS数据集 数据集 建立
使用Import菜单读入 菜单读入 使用
为了实现其它文件格式与SAS数据集间的转换, 数据集间的转换, 为了实现其它文件格式与 数据集间的转换 需提供: 需提供: 存放SAS数据集的库和名称 数据集的库和名称 存放
18
建立SAS数据集 数据集 建立
将文本文件转换为SAS数据集 数据集 将文本文件转换为
10
建立SAS数据集 数据集 建立
用Viewtable窗口直接输入 窗口直接输入
在设定变量属性后( SAS数 在设定变量属性后(此时系统已存贮了 SAS数 据集的描述部分) 据集的描述部分) 再 点击单元格即可在单元格输入内容. 点击单元格即可在单元格输入内容. 在输入完毕后可选: 在输入完毕后可选: 文件(File) 另存为(Save 文件(File) ⇒ 另存为(Save as) 或 文件( 文件( File) ⇒ 保存 (Save) 将表存为SAS数据集. 将表存为SAS数据集. SAS数据集
13
建立SAS数据集 数据集 建立
由文本数据文件建立SAS数据集 由文本数据文件建立 数据集 在DATA步由文本数据文件 步由文本数据文件 在DATA步由文本数据文件生 步由文本数据文件生 建立SAS数据集的一般格式: 成SAS数据集的例子: 建立 数据集的一般格式 数据集的例子 data da2; DATA SAS-data-set ; infile ‘c:\f1.txt’; 变量属性设定语句; 变量属性设定语句; input x y z; mean=(x+y+z)/3; INFILE filename run; <FIRSTOBS=n1 文本数据文件f1.txt的内容 的内容: 文本数据文件 的内容 1 3.1 5 OBS=n2>; 3 2.3 7 INPUT 语句; 语句; ……. 其它语句; 其它语句; RUN; 语句可规定不同的分隔符, (在infile语句可规定不同的分隔符,
第三讲SAS的基本统计分析

一些单变量检验问题
一些单变量检验问题
结果有三个部分:两个总体的WEGIHT简单统计量,两样本均值的检验,以及两样本方差是否相等的检验。标准的两样本t检验要求两总体方差相等,所以第三部分结果检验两样本方差是否相等。如果检验的结果为相等,则可使用精确的两样本t检验,看第二部分结果的Equal那一行。如果方差检验的结果为不等,则只能使用近似的两样本t检验,看第二部分结果的Unequal那一行。这里我们看到方差检验的p值为0.9114不显著,所以可以认为方差相等,所以我们看Equal行,p值为0.0001在0.05水平下是显著的,所以应认为男、女生的WEGIHT分数有显著差异,女生体重要低。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三课SAS数据集
一.SAS数据集的结构
SAS数据集是关系型的,它通常分为两部分:
●描述部分——包含了一些关于数据属性的信息
●数据部分——包括数据值
SAS的数据值被安排在一个矩阵式的表状结构中,见图3-1所示。
●表的列称之为变量(Variable),变量类似于其它文件类型的域或字段(Field);
●表的行称之为观察(Observation),观察相当于记录(Record)。
变量1 变量2 变量3 变量4
Name Test1 Test2 Test3
观察1 Xiaoer 90 86 88
观察2 Zhangsan 100 98 89
观察3 Lisi 79 76 70
观察4 Wangwu 68 71 64
观察5 Zhaoliu 100 89 99
图3-1 一个SAS数据文件
二.SAS数据集形式
SAS系统中共有两种类型的数据集:
●SAS 数据文件(SAS data files)
●SAS 数据视窗(SAS data views)
SAS 数据文件不仅包括描述部分,而且包括数据部分。
SAS 数据视窗只有描述部分,没有数据部分,只包含了与其它数据文件或者其它软件数据的映射关系,能使SAS的所有过程可访问到,实际上并不包含SAS 数据视窗内的数据值。
自始自终,在SAS语言中,“SAS数据集”与这二种形式中之一有关。
在下面的例子中,PRINT过程用相同方法处理数据集aaa.abc,而忽略它的形式:
PROC PRINT DATA=aaa.abc
三.SAS数据集的名字
SAS数据集名字包括三个部分,格式如下:
Libref.data-set-name.membertype
●Libref(库标记)──这是SAS数据库的逻辑名字
●data-set-name(数据集名字)──这是SAS数据集的名字
●membertype(成员类型)──SAS数据集名字的这一部分用户使用时不必给出。
SAS 数据文件的成员类型是DATA;SAS 数据视窗的成员类型是VIEW 例如上面例子中的aaa.abc这个SAS数据集名字,aaa是库标记,abc是数据集名字,成
员类型没有写出,应该是DA TA或VIEW中一个。
四.永久的和临时的SAS数据集
SAS的存储方式有二种:
●永久的SAS数据集
●临时的SAS数据集
图3-2 SAS系统的库标记与对应的目录
一个SAS数据集是临时地或者是永久地存在,取决于该数据集所附属的SAS数据库是临时的或永久的。
一般用LIBNAME语句把主机系统下某个目录与库标记联系起来,并用这个库标记作为SAS数据集名字的第一部分(或称第一级),这样规定的SAS数据集是永久的;如果只有第二部分(或称第二级)数据集的名字或库标记为WORK时,这样规定的SAS数据集是临时的。
永久库中的所有文件将被保留,但库标记仍然是临时的。
每次SAS启动时都自动指定两个库标记:SASUSER和WORK。
分别联系目录“C:\SAS\SASUSER ”和“C:\SAS\SASWORK\#TDxxxxx ”。
见图3-2所示。
1对永久SAS数据集的命名
假定你想创建一个数据集名为Class的永久数据集,这个数据集中的观测值和变量定义为图3-1所示。
首先,你要确定Class的数据集在哪里存储,然后使用LIBNAME语句来定义库标记;若选择Study作为库标记,那么在DA TA语句中你应该这样命名SAS数据:
图3-3 创建永久性数据集STUDY.CLASS
libname study 'd:\sas\mydir';
data study.class;
当这个DATA步执行时,名为class的SAS数据集被存储在用库标记Study联系的目录里。
见图3-3所示是创建永久性数据集STUDY.CLASS的程序,注意在第一条LIBNAME语句执行后,将在LIBNAME窗口出现第五个新的库标记“STUDY”和用户自定义联系目录”d:\sas\mydir”。
在这次SAS会话后面的DA TA步或PROC步使用这个数据集时,必须规定两级名字。
例如:
proc print data=study.class ;
如果你想在另一次SAS会话里读这个class数据集,你必需再定义一个库标记。
2对临时SAS数据集的命名
为了创建或读一个临时SAS数据集,通常你只要规定单级名字,即这个数据集名字。
SAS 系统自动地使用WORK作为库标记。
对于开发和检查新程序非常有用,但每次结束SAS后WORK库标记中的所有文件将被删除。
例如,下面语句:
data class;
产生SAS数据集的全名为work.class(或work.class.data,该数据集的成员类型data是SAS系统自动产生的,不必写出)。
如果你执行DATA步但不想创建SAS数据集,可在DA TA语句里规定关键字_NULL_作为这个数据集的名字。
如果你在DA TA语句中没有规定数据集的名字或保留名字_NULL_,那么SAS系统自动地创建一些SAS数据集,并命名为DA TA1、DA TA2、…等等。
这些数据集被存在WORK库中。
五.SAS数据集的索引
SAS数据集可以用一个或几个被称为关键字变量的变量来索引。
SAS索引根据用它们的值组成索引的关键字的个数多少而分为:
●简单索引
●复合索引
图3-4 为STUDY.CLASS数据集建立关键字是NAME的索引
1简单索引
简单索引是用一个关键变量的值来对观测定位指针。
这个关键变量可以是数值变量或字符变量。
当你创建一个简单索引时,SAS系统自动地以关键变量相同的名字给这个索引命名。
下面的例子显示PROC DA TASETS语句为Study.class数据集创建一个简单索引。
用library=study指明库标记study,用modify class语句说明在已指定d:\sasdata\mydir目录下所要修改的数据集名为class,真正建立索引的语句为index create name,name是数据集class 中的一个字段名,被指定为关键变量,然后用contents data=class语句打印这个class数据集的内容资料。
见图3-4所示。
2复合索引
复合索引引用两个或两个以上变量的值来确定观测的指针位置。
用在复合索引中的这些变量可以是数值类型或字符类型或两者兼有。
当创建这个索引时必须规定一个唯一的索引名。
下例见图2-5所示,给出PROC DATASETS语句为数据集Study.Class创建一个复合索引。
图2-5为数据集Study.Class创建复合索引
TEST1、TEST2和TEST3三个变量被指定为关键变量。
Index create TEST=(test1 test2 test3)语句中,TEST变量是建立复合索引时,必须由用户自行规定一个唯一的索引名,小括号内的数据集变量的次序表示复合索引的关键字次序,即test1是第一关键字,test2是第二关键字,test3是第三关键字。