第一章 SAS基础 1.1 初识SAS 1.2 初识INSIGHT模块 1.3 初识“分析家” 1.4 SAS编程初步.

Slides:



Advertisements
Similar presentations
庄文忠 副教授 世新大学行政管理学系 2012/7/6 SPSS 之应用 ( 庄文忠副教授 ) 1 SPSS 的环境与基本操作.
Advertisements

3.1 表的建立 教学内容 :一、建立表结构 ; 二、输入数据. 重点 :建立表 难点 :建立表.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
資料概說 1.1 基本名詞介紹 1.2 資料型態 1.3 基本操作 商管研究資料分析SPSS的應用 Chapter 1 資料概說.
项目2 字符格式和段落编排 2017年3月7日6时54分.
Excel(2010) 基本操作(入门) ——季振华.
SPSS统计软件的使用方法基础 主讲人:宋振世 (闵行校区) 电 话:
插入超链接 高邮市第一实验小学 范太国 任务一:设置文本超链接 任务一:设置文字超链接 步骤:1、选定文字并右击,在快捷菜单 中选择“超链接”命令。 2、在弹出的对话框中选择左侧“链接到:”中的“本文档中的位置(A)”项,在“请选择文档中的位置(C):”中选择需要链接的幻灯片,单击“确定”按钮。
DOE & EXCEL, SPSS application
PRESENTED BY OfficePLUS
Oracle数据库 Oracle 子程序.
SAS 基础 SAS 功能及历史(略) INSIGHT,Analyst,Program 是统计分析的三种方法
在PHP和MYSQL中实现完美的中文显示
第二章 SAS的描述统计功能 2.1 描述性统计的基本概念 2.2 在SAS中计算统计量 2.3 统计图形.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
SQL Injection.
走进编程 程序的顺序结构(二).
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第一讲: 基本流程(1).
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
Hub Web System 主要功能: 1.查询库存(Query Current Storage) 2.创建PL(Create PL) 3.查询、打印PL单(Query & Print PL) 4.查询允交量、在途量 5.修改用户的基本信息(Update Password) 6.查询GR(Query.
科研信息管理工具 Endnote X4 王辉.
以ISI平台为例,为您演示一下如何在Endnote文献中查看该文献的References
第17章 网站发布.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
Windows 7 的系统设置.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
SAS软件应用指南 第四章、第五章.
C语言程序设计 主讲教师:陆幼利.
新PQDT论文全文库提交平台.
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
直接扫描保存成TIF格式, 其他图片格式用Windows XP自带的 Windows图片与传真查看器打开
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
第1章 c++概述 1.1 C++语言的简史及特点 1.2 简单的C++程序 1.3 C++语言的基本组成
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
项目二:HTML语言基础.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第六章 Excel的应用 一、Excel的单元格与区域 1、单元格:H8, D7, IV26等 2、区域:H2..D8, HS98:IT77
第4章 Excel电子表格制作软件 4.4 函数(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
SAS软件应用基础 SAS过程步.
第六章 素材的加工与处理 第13讲 用GoldWave进行音频的截取、合并、淡入淡出操作
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
Visual Basic程序设计 第13章 访问数据库
VRP教程 2011.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第9章 多媒体技术 掌握 Windows 画图工具的基本操作; 掌握 Windows 音频工具进行音频播放;
Python 环境搭建 基于Anaconda和VSCode.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
回归分析实验课程 (实验三) 多项式回归和定性变量的处理.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
YOUR SUBTITLE GOES HERE
VB与Access数据库的连接.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
WEB程序设计技术 数据库操作.
第四章 UNIX文件系统.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
RefWorks使用指南 归档、管理个人参考文献.
LOGO HERE 单击此处添加 您的标题标题标题 PRESENTED BY JANE DOE
百万行、千万行数据查询教程 老黄牛.
Presentation transcript:

第一章 SAS基础 1.1 初识SAS 1.2 初识INSIGHT模块 1.3 初识“分析家” 1.4 SAS编程初步

1.1 初识SAS 1.1.1 SAS简介 1.1.2 使用SAS 1.1.3 SAS对数据文件的管理

1.1.1 SAS简介 1. SAS与统计分析 在众多的统计软件中,SAS以运行稳定、功能强大而著称。近20年来,SAS一直占据着统计软件的高端市场,用户遍及金融、医药卫生、生产、运输、通讯、政府和教育科研等领域。在数据处理和统计分析领域,SAS系统被誉为国际上的标准软件,堪称统计软件界的巨无霸。

1.1.1 SAS简介 1. SAS与统计分析 在国际学术界有条不成文的规定,凡是用SAS统计分析的结果,在国际学术交流中可以不必说明算法,由此可见其权威性和信誉度。

2. SAS的版本介绍 SAS是在1960年代末期由两位北卡州立大学(North Carolina State University)统计系的教授开发.第一版的SAS只含一般线性模型的分析法,而且只适用于IBM的主机;1976年成立SAS公司负责软件的发展、维护并提供相关服务.PC版本的SAS于1987年推出(V6.02),1989年推出SAS/PC(V6.04)版本;1997年下半年推出适用于多种操作系统的V6.12版本(Windows版);2000年2月又推出SAS系统V8版本,2001年推出SAS系统V8.2版本;目前SAS最新版本为V9.01.

3. SAS的功能模块 SAS系统由三十几个模块组成,其分析功能散布在几乎所有的模块之中,较为集中的具有统计分析功能的是SAS/BASE、SAS/STAT、SAS/QC、SAS/INSIGHT、SAS/ETS等一些模块,通过编程可以调用各种分析功能。 对于常用的一些统计分析方法,SAS系统中的如下三种方法可以达到同样的目的: ● INSIGHT(“交互式数据分析”) ● Analyst(“分析家”) ● 直接编程

1.1.2 使用SAS 1. SAS的启动 在Windows环境中,用如下方法可以进入SAS系统的窗口运行环境: ● 用鼠标选择系统菜单项:“开始”→“程序”→“The SAS System” → “The SAS System for Windows V8” ● 如果SAS安装系统在桌面上建立有快捷方式图标,双击SAS.EXE图标启动SAS。 ● 生成SAS.EXE的快捷方式(把SAS.EXE用鼠标右键拖到桌面),双击SAS.EXE图标启动SAS。

2. SAS的操作界面 SAS系统启动后,进入SAS操作界面。SAS操作界面的标准名称为SAS Application WorkSpace(SAS应用工作空间),简称SAS AWS。 如同其它许多 Windows应用程序一样, SAS AWS是一个多窗口 界面:在一个主窗口内 包含若干个子窗口,并 有菜单栏、工具栏、状 态栏等。

(1) 子窗口 SAS V8.2的子窗口有十几个,但初始状态下能见到的是最常用的五个子窗口: ● Editor窗口:增强的程序编辑器。 通常,在Editor窗口输入SAS程序,选择菜单项“Run”→“Submit”,或者直接点击工具栏上的按钮就可以运行程序。 用功能键F5或选择菜单项“View”→“Enhanced Editor”可以打开Editor窗口。

● Log窗口:记录程序的运行情况。 用功能键F6或选择菜单项“View”→“Log”可以打开Log窗口。 ● Output窗口:显示SAS程序中各过程的运行结果。 用功能键F7或选择菜单项“View”→“Output”可以打开Output窗口。 ● Results窗口:管理SAS程序的输出结果。 选择菜单项“View”→“Results”可以打开Results窗口。

● Explorer窗口:管理SAS逻辑库和存放在逻辑库中由SAS系统创建的数据文件和其它类型的SAS文件。 选择菜单项“View”→“Explorer”可以打开Explorer窗口。

(2) 菜单栏 SAS主窗口标题栏下是主菜单。SAS菜单是动态的,其内容随上下文而不同,即光标在不同窗口其菜单也不同。 (3) 工具栏 工具栏也是动态的,当光标在编辑窗口时工具栏图标的解释如表1-1。 其中提交程序按钮最为常用,点击该按钮即可运行Editor窗口中的SAS程序。

3. SAS的退出 (4) 状态栏 SAS界面的状态栏中显示当前工作目录,这是文件打开、保存的缺省目录。双击此处可以更改当前工作目录。 在SAS应用工作空间中用鼠标单击关闭按钮,或者选择菜单“File”→“Exit”,打开“Exit”对话框,单击“确定”按钮,即可退出SAS。

1.1.3 SAS对数据文件的管理 在SAS系统中建立的众多SAS文件,可按不同需要将其归入若干个SAS逻辑库,以便对SAS文件进行访问和管理。Explorer窗口可以管理逻辑库和各种SAS文件,一般的,对于SAS文件的复制、查看和删除等操作。

1. 逻辑库和SAS文件 一个逻辑库就是存放在同一文件夹中的一组SAS文件。 在SAS系统的信息组织中,总共只有两个层次:SAS逻辑库是高一级的层次,低一级的层次就是SAS文件本身。 SAS的逻辑库分为临时库和永久库两种。 临时库只有一个,名为Work,存放在Work中的SAS文件叫临时文件,这些临时文件当退出SAS系统时会被自动删除。

SAS每次启动时会自动指定4个库标记:Work,Sasuser,Sashelp,Sasmap。Sasuser库保存与用户个人设置有关的文件,Sashelp库保存与SAS帮助系统、例子有关的文件。 在Explorer窗口中,单击工具按钮,或是在右键菜单中选择“New”,打开“New Library”对话框,可以建立新库,见图1-3。如果选中“Enable at startup”复选框,则每次打开SAS时所建逻辑库都有效。

SAS文件是指储存在SAS逻辑库中的成员,SAS的用户文件的主要类型有: 访问一个SAS文件,一定要指明它所在的逻辑库,格式为:逻辑库名.文件名。如在Sasuser库下建立一个名为Mydata的数据集,访问的时候,要用Sasuser.mydata。 如果不指明逻辑库名,则表示存储在临时逻辑库WORK中的SAS文件。

2. SAS的名字 SAS的名字(数据集名、变量名、逻辑库名等等)有以下命名规则: 1) 由英文字母、数字、下划线组成; 2) 第一个字符必须是字母或下划线; 3) 不区分大、小写字母。 另外,SAS逻辑库名最多用8个字符;数据集和变量的名字最多用32个字符。

3. SAS数据集 SAS的核心是SAS数据集。SAS数据集是SAS文件的一种,一般由以下两部分组成: (1) 描述部分 包含该数据集的一般信息,包括:数据集的名字及其成员类型、数据集建立的日期和时间、观测的数目、变量的数目以及数据集中每一个变量的特征信息,包括:Name(变量名)、Type(类型)、Length(长度)、Format(输出格式)、Informat(输入格式)、Label(标签)。

(2) 数据部分 包含该数据集中收集的数据的值,可以看作是一个矩形的表格。下图所示的数据表就是SAS V8自带的数据集Sasuser.Class,其中包含了19个学生的有关信息。

4. 数据集的导入 导入Excel数据表的步骤如下: 1) 在SAS应用工作空间中,选择菜单“File”→“Import Data…”,打开导入向导“Import Wizard”第一步:选择导入类型(Select import type)。 2) 在第二步的“Select file”对话框中,单击“Browse”按钮,在“打开”对话框中选择所需要的Excel文件,返回。然后,单击“Option”按钮,选择所需的工作表。

4. 数据集的导入 导入Excel数据表的步骤如下: 3) 在第三步的“Select library and member”对话框中,选择导入数据集所存放的逻辑库以及数据集的名称。 4) 在第四步的“Create SAS Statements”对话框中,可以选择将系统生成的程序代码存放的位置,完成导入过程。

1.2 初识INSIGHT模块 1.2.1 调用INSIGHT模块 1.2.2 INSIGHT的功能概述 1.2.3 数据的预处理操作

1.2.1 调用INSIGHT模块 有如下两种方法可以调用INSIGHT模块: 方法一:在命令行键入“Insight” 方法二:在菜单中选择“Solution(解决方案)”“Analysis(分析)”→“Interactive Data Analysis(交互式数据分析)”。

INSIGHT提供了一个类似于电子表格的数据窗口来管理数据集。图1-10为显示了数据集SASUSER.CLASS的数据窗口。 变量个数 数据窗菜单 观测个数 绘点符号 观测序号 变量作用 变量名称

在SAS数据集中,变量分为两种类型:字符型变量和数值型变量。在INSIGHT中,为了区分变量在分析中的不同作用,又按变量的测量水平分为两类: ● 区间型变量(interval variable):区间型变量必须是数值型变量,可以对其观测值进行四则运算,计算各种统计量; ● 列名型变量(nominal variable):列名型变量可以是数值型的,也可以是字符型的,在INSIGHT中常起分类作用。

1.2.2 INSIGHT的功能概述 INSIGHT是一个交互式的数据探索和分析的工具,用这一模块可以: ● 通过多窗口连动的图像和分析结果,对数据进行探索; ● 分析单变量分布; ● 用相关和主成分研究多变量间的关系; ● 用方差分析和回归分析拟合变量间关系的模型; INSIGHT的各项功能可以在菜单中找到。

INSIGHT的一般操作步骤为: 1) 打开数据窗口,在数据窗口对数据表进行各种预处理; 2) 在“Analyze(分析)”菜单中选择相应的菜单项,进行分析; 3) 查看各种分析结果。

1.2.3 数据的预处理操作 1. 在数据窗中移动列 1) 单击数据窗口左上角处的三角按钮,打开数据窗菜单,选择“Move to First(移到最先)”,在弹出的“Move to First”对话框中,选择欲移动到首列的变量,单击“OK”按钮,即可将该变量移到第一列。 将某个变量移到最后一列(Move to Last)的操作,可类似进行。

1.2.3 数据的预处理操作 1. 在数据窗中移动列 2) 移到某两列中间:选择主菜单“Edit”→“Windows”→“Tools”,打开“Tools”对话框。 单击手形按钮,光标变为手形,鼠标指向移动变量的顶部,按住鼠标左键拖动到适当的地方即可

2. 对数据集排序 单击数据窗口左上角处的三角按钮,打开数据窗菜单,选择“Sort”,在打开的“Sort”对话框中,选择排序的变量,单击“Y”按钮,将变量选定,然后按“OK”按钮即可。可同时根据多个变量进行排序,默认是升序排序,可单击Asc/Des切换到降序。

3. 创建新的变量 选择主菜单“Edit”→“Variables”→“Other”,打开“Edit Variables”对话框,可通过原变量的关系定义新的变量。如:根据学生体重与身高之比建立新变量D_weight: 1) 选中变量weight,单击“Y”,选中变量height,单击“X”; 2) 在“Transformation”列表框中选择运算:Y/X; 3) 在“Label”栏中注明:体重身高比; 4) 最后单击“OK”按钮,即可增加新变量列。

4. 建立数据集的子集 下述方法可以建立当前已打开数据集的子集。如欲找出所有男生的观测: 1) 选择主菜单“Edit” → “Observations” → “Find”,打开“Find Observations”对话框,确定建立新数据表的关系式; 2) 在变量名称列表中选择sex,在Value(值)列表中选择M,单击“OK”按钮;数据窗口中所有男生的观测被选中; 3) 单击数据窗口左上角处的三角按钮,打开菜单,选择“Extract”,生成新数据集;

4. 建立数据集的子集 4) 若要保存数据集,选择菜单“File” → “Save” → “Data”,在打开的“Save Data”对话框中选择保存的逻辑库名,并输入数据集名,单击“OK”按钮即可。

5. 直接输入数据建立新数据表 在INSIGHT中创建新数据表的步骤如下: 1) 选择主菜单“File”→“New”,即可建立一个新数据集; 2) 单击数据窗口左上角处的三角按钮,打开菜单,选择“New Variables”,在打开的对话框中输入变量个数;再选Define Variables,在打开的对话框中输入变量名称(Name)及其它属性,单击“OK”按钮即可;

5. 直接输入数据建立新数据表 在INSIGHT中创建新数据表的步骤如下: 3) 在单元格内输入数据,每输入一个数据后按Enter键确认; 4) 选择菜单“File”→“Save”→“Data”,在打开的“Save Data”对话框中选择保存的逻辑库名,并输入数据集名,单击“OK”按钮即可保存新建的数据集。

1.3 初识“分析家” 1.3.1 调用“分析家” 1.3.2 功能概述 1.3.3 “分析家”的有关操作

1.3.1 调用“分析家” 可以用下面两种方法启动“分析家”,打开“分析家”窗口: 方法一:在命令行中输入“Analyst” 1.3.1 调用“分析家” 可以用下面两种方法启动“分析家”,打开“分析家”窗口: 方法一:在命令行中输入“Analyst” 方法二:选择主菜单“Solutions(解决方案)” → “Analysis(分析)”→“Analyst(分析家)”

1.3.2 功能概述 “分析家”的菜单功能如下: ● File(文件)菜单提供了有关数据文件的新建、读、写、文件的导入和导出、打印和传输等功能; ● Edit(编辑)菜单提供了有关修改当前文件内容的一些选项; ● View(查看)和Data(数据)菜单提供了对读入数据集进行加工的一些功能,例如,对数据集行列的增删,行列的排序,行列的转置和对数据集的随机取样等;

1.3.2 功能概述 “分析家”的菜单功能如下: ● Graphs(图形)菜单提供了图形功能,包括直方图、盒形图、等高线图、三维散点图和曲面图等; ● Statistics(统计)菜单提供了主要的统计分析功能,包括描述统计量计算、列联表分析、假设检验、方差分析和回归分析等。

1.3.3 “分析家”的有关操作 l. 打开数据集 选择主菜单“File(文件)”→“Open By SAS Name”,打开“Select A Member”对话框,选择一个数据集作为项目的成员。

2. 导入Excel数据表 步骤如下: 1) 选择主菜单“File(文件)”→“Open…(打开)”,在打开的对话框中,选择文件类型为“Microsoft Excel Spreadsheet”; 2) 选定Excel工作簿文件,单击“打开”按钮,打开“SAS Import:Spreadsheet Options”对话框,在“Worksheet/Range”下拉列表中选择工作表名称,单击“OK”按钮即可;

2. 导入Excel数据表 3) 选择主菜单“File(文件)”→“Save As By SAS Name…”,在打开的“Save As”对话框中,选择所要保存的逻辑库名,并输入数据集名,单击“Save”按钮即可。

3. 浏览和编辑 已打开的数据集可处于浏览(Browse)或编辑(Edit)两种不同的方式,浏览方式只允许显示数据集的内容,编辑方式允许修改数据表的内容。 可以通过选择菜单“Edit”→“Mode(模式)”→“Edit(编辑)”或“Edit”→“Mode(模式)”→“Browse(浏览)”进行切换。

4. 改变变量显示的次序 选择菜单“View(查看)”→“Columns(列)” → “Move(移动)”,打开“Move Columns”对话框。在列表中选择变量名后,使用上下箭头,按“OK”按钮后,即可改变变量显示的次序。

5. 对数据集排序 对数据集排序的方法如下: 1) 在“Edit(编辑)”方式下,选择菜单“Data(数据)”→“Sort(排序)”,打开“Sort(排序)”对话框; 2) 选中欲排序的变量名,单击“Sort By”按钮,将排序变量选入右框,可选多个变量; 3) 在右列表框中,选中排序变量,单击“Ascend/Descend”按钮可以在升序或降序之间切换。

6. 创建新的变量 在数据集中有两种方式添加新的变量。 ● 直接插入变量:选择菜单“Edit(编辑)”→“Insert Columns(插入列)”→“Character”或“Numeric”,——指定插入变量的类型——即可在数据集中插入一个新的变量。 ● 根据原变量的关系得到新变量: 选择菜单“Data(数据)”→“Transform(变换)”→“Compute(计算)”,打开“Compute(计算)”对话框;在对话框中确定变量关系式。

7. 创建数据集的子集 打开一个数据集后,选择菜单“Data(数据)”→“Filter(过滤)”→“Subset Data(子集数据)”,打开“Subset”对话框;在列表中选择变量,在弹出的“Operators(算子)”列表中选择算子(比如EQ表示“等于”); 用鼠标单击列表框中的“<LOOKUP distinct values>”,再在弹出的“Lookup Values”对话框中选择该变量的可能取值; 单击“OK”按钮,即可生成子集。

8. 由数据集随机抽样 选择菜单“Data(数据)”→“Random Sample(随机抽样)”,在打开的“Random Sample”对话框中,可设定样本的容量或抽取的比例(Ratio)。例如,创建一个容量为10的样本时的设置。 若要保存生成的样本,可以选择菜单“File(文件)”→“Save As By SAS Name(另存为SAS)”。

9. 数据集的转置 在SAS许多具有分析功能的过程中,有时需要将数据阵转置。方法如下: ● 将行列进行对换(整个进行): 选择菜单“Data(数据)”→“Transpose(转置)”,打开“Transpose(转置)”对话框; 在对话框中,选择列表中的变量名,单击“Transpose”按钮,将变量名一一选入右上框; ● 按某个变量的值分组进行: 在“Transpose(转置)”对话框中,可把某个变量的值选入右下框(Group By)。

1.4 SAS编程初步 1.4.1 SAS程序概述 1.4.2 指定逻辑库 1.4.3 数据步简介 1.4.4 过程步简介

1.4.1 SAS程序概述 1. 数据步与过程步 SAS程序包括多个步骤和一些控制语句,一般情况下由两种类型的程序步(steps)组成:数据步(DATA steps)和过程步(PROC steps)。有时SAS程序还包括一些全程语句,用以控制贯穿整个SAS程序的某些选项、变量或程序运行的环境。

1.4.1 SAS程序概述 1. 数据步与过程步 ● 数据步通常用于创建SAS数据集,但也可以用于产生特别设计的报表。 一个SAS程序就是由数据步、过程步或两者的任意组合而成。每一个程序步通常由若干语句(statements)构成。

2. 书写规则 一个SAS语句有两个重要特征: ● 由SAS关键词(keyword)开始; ● 总是以分号“;”结束。

data c200501; input name $ sex $ math chinese; cards; 李家富 男 92 98 张丽萍 女 89 106 王春雷 男 86 90 刘刚 男 98 109 张颍 女 80 110 ; proc print data = c200501; proc means data = c200501 mean; var math chinese; run;

说明: 1) 一个数据步由关键词DATA开始,而一个过程步由关键词PROC开始。 2) SAS语句是自由格式的:一个语句可以由几行组成,可以在任一列开始和结束,几个语句可以在同一行内。SAS每看到一个分号,就将其以前、上一个分号以后的所有字符当作一条语句来处理,而不管它们处在多少个不同的行中(如代码中的二三两行为一个语句)。

说明: 3) SAS语句对字母的大小写不敏感,可以根据个人习惯决定字母的大写或小写。 4) SAS语句中的词之间用空格或特殊符号分隔。

3. SAS程序中的注释 在SAS程序中可以加入注释,注释使用C语言语法,用/*和*/在两端界定注释,这种注释可以出现在任何允许加入空格的位置,可以占多行。另一种注释是把以星号开头的行作为注释。一般只把注释单独占一行或若干行,不把注释与程序代码放在同一行。注释的另一个作用是把某些代码暂时屏蔽使其不被运行。下面是一个注释的例子: /*生成2005级1班考试成绩的数据集*/ data c200501;

4. SAS程序的提交 SAS程序在Editor窗口中编写,欲使SAS运行所编写的程序,就需要“提交(submit)”,单击热键F8,或者选择菜单项“Run”→“Submit”,或者直接点击工具栏上的按钮均可以提交程序。 当一个SAS程序被提交(submit)时,每一个DATA、PROC或RUN语句会导致前面的程序步被执行。所以,一个SAS程序应以RUN语句结束,否则,最后一个程序步不会被执行。

每一个程序步被分别执行。执行时,SAS系统会产生 一个日志(log窗口),记录执行过程中的信息和可能 发生的任何错误。执行的结果根据SAS程序的不同而有 所不同: ● 通常SAS程序包括一些过程步,它们会创建报表形式的输出(Output窗口)。 ● 有些SAS程序执行诸如排序或数据处理过程,除了在日志中的记录之外,不产生可见的输出结果。

1.4.2 指定逻辑库 1. 一个逻辑库连接一个文件夹 建立逻辑库,又称为指定逻辑库,其实质是把一个库名和一个实际文件夹联系起来,指定逻辑库的命令语句为全程语句,其格式如下: LIBNAME <逻辑库名> "<路径>"; 例如指定的库名为“Mylib1”,路径为:“e:\data\”,SAS语句如下: libname mylib1 "e:\data\";

1.4.2 指定逻辑库 2. 一个逻辑库连接多个文件夹 Libname语句不仅可以为一个物理位置(实际文件夹)指定逻辑库名,也可以为多个物理位置指定逻辑库名,其格式如下: LIBNAME <逻辑库名> ("<路径1>" "<路径2>" …);

1.4.3 数据步简介 1. 建立SAS数据集 利用数据步建立SAS数据集,有两种方式可以输入数据:一是将数据排列在变量名串之后;二是指定一个外部数据文件供读取。

第一种方式的一般语法为: DATA <数据集名>; INPUT <变量名1>[$] <变量名2>[$]… <变量名k>[$]; CARDS; d11 d12 …d1k d21 d22 …d2k …. … ; RUN;

例如: data f2005; input number name $ @@; cards; 200541001 zhao 200541002 qian 200541003 sun 200541004 li ; run;

第二种方式的一般语法为: 例如: DATA <数据集名>; INFILE '<文件名>'; INPUT <变量名1> <变量名2>… <变量名k>; RUN; 例如: data c200501; infile 'g:\data\c2005.txt'; input name $ sex $ math chinese; run;

2. 数据集的复制与修改 可以用SET语句把一个已有数据集复制到一个新数据集,同时还可以进行修改。如果只是复制数据集,也可以用SAS管理器(SAS Explorer)完成。SET语句的语法格式有两种,有些功能有重复。

格式一: DATA <新数据集名>; SET <数据集名>; [KEEP <欲保持的变量名列表>;] [DROP <欲丢弃的变量名列表>;] [IF <条件> [THEN <语句>];] RUN;

格式二: DATA <新数据集名>; SET <数据集名>[<选项>]; [IF <条件> [THEN <语句>];] RUN;

3. 拆分数据集 使用SET和OUTPUT语句可以根据某一分类原则把数据行分别存放到不同的数据集,语法格式为: DATA <新数据集1> <新数据集2> …; SET <数据集名>[<选项>]; [WHEN(<条件1>) OUTPUT <新数据集1>;] [WHEN(<条件2>) OUTPUT <新数据集2>;] … RUN;

比如,希望把数据集c200501中的所有男生的观测放到数据集c200501m中,把所有女生的观测放到c200501f中,可以使用如下程序: data c200501m c200501f; set c200501; select(sex); when('男') output c200501m; when('女') output c200501f; otherwise put sex= '有错'; end; drop sex; run;

4. 数据集的纵向合并 使用SET语句可以将几个结构相同的数据集上下连接到一起。其语法格式为: DATA <新数据集名>; SET <数据集1>[(IN=<变量名1>)] <数据集2>[(IN=<变量名2>)] …; [IF <变量名1> = 1 THEN <变量名>=<值1>;] [IF <变量名2> = 1 THEN <变量名>=<值2>;] … RUN;

比如,在前例中我们把c200501数据集按男、女拆分 成了c200501m和c200501f两个数据集并抛弃了性别变量, 可以用如下程序连接两个数据集并恢复性别信息: data new; set c200501m(in=male) c200501f(in=female); if male=1 then sex='男'; if female=1 then sex='女'; run;

5. 数据集的横向合并 两个(或多个)数据集如果包含了同样的一些观测的不同变量,且各数据集的观测按顺序是一一对应的,就可以用如下带有MERGE语句的数据步把它们左右横向合并到一个数据集,其语法格式为: DATA <新数据集名>; MERGE <数据集列表>; [BY <变量1> [<变量2>…]]; RUN;

比如,数据集c200501u包含学生的姓名、性别,数据 集c200501v包含学生的数学成绩,数据集c200501w包含 学生的语文成绩,且各数据集的观测是按顺序一一对应 的,就可以用如下带有MERGE语句的数据步把它们左 右横向合并到一个数据集New: data new; merge c200501u c200501v c200501w; run;

1.4.4 过程步简介 1. SAS过程步的一般形式 SAS过程步的一般形式为: 1.4.4 过程步简介 1. SAS过程步的一般形式 SAS过程步的一般形式为: PROC <过程名> [DATA=<输入数据集>] [<选项>]; <过程语句>/<选项>; RUN;

2. 过程步常用语句 (1) VAR语句 VAR语句在很多过程中用来指定分析变量,其格式为: VAR <变量名1> <变量名2> ... <变量名n>;

2. 过程步常用语句 (2) BY语句和CLASS语句 在使用带有BY语句的过程步之前一般先用SORT过程对数据集排序。

(3) OUTPUT语句 OUTPUT OUT = <输出数据集名> <关键字>=<变量名> <关键字>=<变量名>...; 其中用OUT=给出了要生成的结果数据集的名字,用“关键字=变量名”的方式指定了输出哪些结果(关键字是如MEANS过程中的MEAN,VAR,STD那样的要输出的结果名),等号后面的变量名指定了这些结果在输出数据集中叫什么名字。

(4) WHERE语句 用WHERE语句可以选择输入数据集的一个行子集来进行分析,在WHERE关键字后指定一个条件。其格式为: WHERE <条件>;

过程步中的FORMAT语句可以为变量输出规定一个输出格式,比如: (5) FORMAT语句和LABEL语句 过程步中的FORMAT语句可以为变量输出规定一个输出格式,比如: proc print data=c200501; format math 9.1 chinese 9.1; run; 使得列出的数学、语文成绩宽度占9位,带一位小数。 LABEL语句为变量指定一个临时标签,很多过程可以使用这样的标签。LABEL语句的格式为: LABEL <变量名>='<标签>' <变量名>='<标签>'...;

3. 输出列表过程PRINT PRINT过程是最常用的SAS过程之一,在生成一个数据集之后,如果不是太大,一般都用PRINT过程来列出数据集的内容,这样可以检查变量与值之间的对应是否正确,数据输入是否正确。其语法格式为: PROC PRINT [DATA = <数据集>] [NOOBS]; [VAR <变量列表>;] [WHERE <表达式>;] RUN;

1) 在PROC语句中使用“DATA=选项”指定要列表的数据集名;NOOBS选项指定不输出观测号; PROC PRINT [DATA = <数据集>] [NOOBS]; [VAR <变量列表>;] [WHERE <表达式>;] RUN; 其中: 1) 在PROC语句中使用“DATA=选项”指定要列表的数据集名;NOOBS选项指定不输出观测号; 2) VAR语句可以指定要列出的变量并指定顺序 3) WHERE语句可以从输入数据集中选一个子集来处理

4. 数据排序过程SORT 在SAS过程中用BY语句可以把观测分类进行处理,但在此之前需要先用SORT过程排序。SORT过程可以把数据集按某一个或若干个变量的次序进行排序。其语法格式为: PROC SORT [DATA = <数据集>] [OUT = <输出数据集名>]; [BY <变量列表>;] RUN;

其中DATA选项指定的数据集为输入数据集,OUT选项指定的数据集为输出数据集。若省略OUT选项,则输出数据集与输出数据集为同一个数据集。 PROC SORT [DATA = <数据集>] [OUT = <输出数据集名>]; [BY <变量列表>;] RUN; 其中DATA选项指定的数据集为输入数据集,OUT选项指定的数据集为输出数据集。若省略OUT选项,则输出数据集与输出数据集为同一个数据集。 BY语句中在一个变量名前面加上DESCENDING关键字表示此变量的排序是由大到小的。

5. 格式化过程FORMAT FORMAT过程可以设定数据的输出格式,对变量的不同值或不同范围的值设定不同的“标签”来显示,其语法格式如下: PROC FORMAT; VALUE <格式名> <范围1> = '<标签1>' <范围2> = '<标签2>' ……; RUN; 其中格式名的命名规则与逻辑库名相同。

可以指定自己的标题来取代SAS缺省的标题。指定标题的TITLE语句的格式为: 6. 标题及全程语句 可以指定自己的标题来取代SAS缺省的标题。指定标题的TITLE语句的格式为: TITLE '<标题内容>'; 要注意的是,TITLE语句是一个“全程”语句。全程语句与一般语句不同,一般语句必须用在数据步或过程步内,作为数据步或过程步的一部分,而全程语句则既可以用在数据步和过程步内,又可以单独使用(在数据步、过程步外部)。

全程语句的作用一般有持续性,即:全程语句的效果 将持续到退出SAS系统或用另一个同样的全程语句来修 改它。 另一个全程语句OPTIONS语句可以规定系统运行的一些选择项,比如输出是否每页有页号,是否有日期,输出的行宽,输出每一页的高度(行数),等等。